見出し画像

【初心者向け】X(Twitter)自動投稿ツールの作成方法【2024年版】

【更新】
・(予定)最後のStep4 (2/2)がムズイかもしれないので、コピペでできるように動画撮り直します
・2024.04.17:[Step2]の動画追加
・2024.04.20:[Step3]、[Step4]の動画追加

こんにちは。副業プログラマーのYouパパです

今回は、プログラミング初心者向けに、X(Twitter)の自動投稿ツールの作成方法を紹介したいと思います!


【実績紹介】
・X(Twitter)自動化ツール作成実績:3年間以上
・作成した機能:自動投稿(画像、動画)、投稿削除、いいね、フォロー、アンフォロー、RT、引用RT、リプライ、DM、ブロック
・販売実績: 累計売上200万円越え(150件以上)

正直、X(Twitter)自動化ツール作成に関しては大抵のことが分かるようになりました!

下のステップをクリアしていくと、自動投稿ができるようになるので、ぜひ試してみてください!

完成したら、自分で使うもヨシ、販売するのもヨシです

【注意事項】
※「PC(Windows or Mac)」が必要です

※プログラミング言語は「GAS(Google Apps Script)」を利用します
  → PCを消した状態で定期実行可能なため
※「ChatGPT」を利用します
  → 楽するため(笑)



【大切なお約束】
・プログラミングの最初は、とにかく事前準備が長いです
・しかも意味不明です
・ここで挫折する人が99%です
・ポイントは、「理解しようとしないでください」
・何も考えずに、順番に実行してください
・後で全て分かるようになります
・今理解しようとすると、理解できずに挫折します
・「そういうものだ」と思ってドンドン次に進んでください

[Step1] GASプロジェクトの作成

  1. Googleアカウントの作成

  2. Googleドライブへ移動

  3. Google Spread Sheet(スプレッドシート)作成

  4. Apps Script(コード入力画面)へ移動



感想・ご質問は、以下からお気軽にどうぞ😄
>> 質問する! <<


[Step2] Cursor(ChatGPT)の導入

  1. Cursorインストール

  2. 日本語化(希望の方のみ)

  3. ChatGPT有料化(本気の方のみ笑)


感想・ご質問は、以下からお気軽にどうぞ😄
>> 質問する! <<


[Step3] TwitterAPIの設定

  1. X(Twitter)アカウントの作成

  2. Twitter Developerで、FreeAPI取得(下記より申請文コピペ)

  3. CallBackURLの登録

    • https://script.google.com/macros/d/{SCRIPT ID}/usercallback

  4. TwitterAPI keyの取得



感想・ご質問は、以下からお気軽にどうぞ😄
>> 質問する! <<


[Step4] コーディング

  1. Twitterアカウントの認証

    • 認証コードのコピペ(下記より)

    • ライブラリ登録

      • ■ TwitterWebService
        1rgo8rXsxi1DxI_5Xgo_t3irTw1Y5cxl2mGSkbozKsSXf2E_KBBPC3xTF

      • ■ OAuth1
        1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7s

    • 自分のTwitterアカウントを認証

  2. 自動投稿

    • CursorのChatGPTを用いてコード生成

      • jsファイルの作成(認証のコードのコピペ)

      • 最新のTwitter APIドキュメントを読み込み

      • プロンプト:
        「この認証からドキュメントを参考に、Twitter自動投稿をGAS作成ください」で、コード生成

        • ただ、3点不要なところがあり、2点はChatGPTで解決できそうだが、1点は、絶対にできなかったので教えます

    • 実際に自動投稿を起動して、自分のアカウントに投稿されていれば完成!



「 [Step4 (1/2) ] コーディング(Twitter自動投稿)」の動画は、以下のLINEから受け取りください!

”本気でやりたい方だけ” に受け取って欲しいので、若干面倒なことをお願いしています

以下の公式LINEから、「自動投稿作成動画」とコメントいただくと、動画を受け取れます

>> 動画を受け取る! <<


最後に


ご視聴ありがとうございました!

「ここ詰まってます!」、「もっとこうして欲しい!」というのがあれば、
以下からご相談してください!!

お役に立てると思います!


✅ 参考

【コラム】
いきなり、ChatGPTで、「X自動投稿作って」と言って、コード生成してくれるかと思ったがダメだった…

AIは、やっぱり、
・最新情報
・0 → 1
は、苦手かもしれない

1 → 10は、めちゃくちゃ得意なので、AIなしでは生きていけないけど笑

◎Twitter API(Free)の申請文

Volunteer manages the website related to. Using the WordPress plugin with the Twitter API, you can use Twitter to send the latest information on the website to many people and plan not only to attract customers, but also to tweet tweets that many people like and retweet This is to analyze and transmit more useful information.


◎認証コード

authorize.gs

/**-----------------------------------
 * 初期設定
/**-----------------------------------*/

// authorize関数にて、[]に記載した数だけ、Twitterアカウントを登録
// Ex. ['a1','a2','a3']で、3つのアカウントを登録
// 4つ以上のアカウントを登録したいときは、a4、a5・・と追記
var accounts = ['a1','a2','a3']

// reset関数にて、[]に記載したアカウントのみ、Twitterアカウント認証を解除
// Ex. ['a1','a2']で、a1とa2のみ認証を解除
// 記載なし([]のみ)で、全てのTwitterアカウント認証を解除
var reset_accounts = ['a1'] 

// ご自身のAPI_Key/API_Secret_keyの記入
const API_Key = 'ksPDMs9SiF****rcwUJqWoBoM9'
const API_Secret_key = 'raW3E5Vx9BHtT************lWdGDFuEeA4VMeEF0d54'


/**-----------------------------------
 * 設定ここまで
/**-----------------------------------*/



// 認証用インスタンス(複数入れられるように)
var twitterInstances = {};
for (var i in accounts) {
  var instance = TwitterWebService.getInstance(
    API_Key,       // API Key
    API_Secret_key  // API Secret key
  );

  var account = accounts[i]
  instance.service_name = account
  instance.getService = function() {
    return OAuth1.createService(this.service_name)
    .setAccessTokenUrl('https://api.twitter.com/oauth/access_token')
    .setRequestTokenUrl('https://api.twitter.com/oauth/request_token')
    .setAuthorizationUrl('https://api.twitter.com/oauth/authorize')
    .setConsumerKey(this.consumer_key)
    .setConsumerSecret(this.consumer_secret)
    .setCallbackFunction('authCallback')
    .setPropertyStore(PropertiesService.getUserProperties())
  }
  
  twitterInstances[account] = instance
}

// 認証
function authorize() {
  for (var key in twitterInstances) {
    instance = twitterInstances[key]
    var service = instance.getService();

    if (service.hasAccess()) {
          console.log('%sは認証済です',key);
    }else{
          var authorizationUrl = service.authorize();
          console.log("↓"+ key +"の認証URL");
          console.log(authorizationUrl)
    }//else
  }
}

// 認証解除
function reset() {
  for (var key in twitterInstances) {
    if (reset_accounts.length==0){
        instance = twitterInstances[key]
        instance.reset();
    }else{
      for (var i = 0; i < reset_accounts.length; i++){
        if(key.match(reset_accounts[i])){
          instance = twitterInstances[key]
          instance.reset();
          Logger.log('%sのアカウントの認証を解除しました', reset_accounts[i]);
        }//if
      }//for
    }//ifel
  }//for
}


// 認証後のコールバック
function authCallback(request) {
  instance = twitterInstances[request.parameter.serviceName]
  return instance.authCallback(request);
}


◎CallBackURLコード

callBackUrl.gs

function callBackURL() {
  // Apps ScriptプロジェクトのスクリプトIDを取得する
  scriptId = ScriptApp.getScriptId();
  
  // callbackURLを取得する
  callbackURL =  OAuth1.getCallbackUrl(scriptId)

  console.log(callbackURL)

}


この記事が気に入ったらサポートをしてみませんか?