【初心者向け】X(Twitter)自動投稿ツールの作成方法【2024年版】
こんにちは。副業プログラマーのYouパパです
今回は、プログラミング初心者向けに、X(Twitter)の自動投稿ツールの作成方法を紹介したいと思います!
正直、X(Twitter)自動化ツール作成に関しては大抵のことが分かるようになりました!
下のステップをクリアしていくと、自動投稿ができるようになるので、ぜひ試してみてください!
完成したら、自分で使うもヨシ、販売するのもヨシです
[Step1] GASプロジェクトの作成
Googleアカウントの作成
Googleドライブへ移動
Google Spread Sheet(スプレッドシート)作成
Apps Script(コード入力画面)へ移動
感想・ご質問は、以下からお気軽にどうぞ😄
>> 質問する! <<
[Step2] Cursor(ChatGPT)の導入
Cursorインストール
日本語化(希望の方のみ)
ChatGPT有料化(本気の方のみ笑)
感想・ご質問は、以下からお気軽にどうぞ😄
>> 質問する! <<
[Step3] TwitterAPIの設定
X(Twitter)アカウントの作成
Twitter Developerで、FreeAPI取得(下記より申請文コピペ)
CallBackURLの登録
https://script.google.com/macros/d/{SCRIPT ID}/usercallback
TwitterAPI keyの取得
感想・ご質問は、以下からお気軽にどうぞ😄
>> 質問する! <<
[Step4] コーディング
Twitterアカウントの認証
認証コードのコピペ(下記より)
ライブラリ登録
■ TwitterWebService
1rgo8rXsxi1DxI_5Xgo_t3irTw1Y5cxl2mGSkbozKsSXf2E_KBBPC3xTF■ OAuth1
1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7s
自分のTwitterアカウントを認証
自動投稿
Cursorの生成AIを用いてコード生成
jsファイルの作成(認証のコードのコピペ)
最新のTwitter APIドキュメントを読み込み
モデルの変更(Claude3-opusへ)
プロンプト:
「この認証からドキュメントを参考に、GASのTwitter自動投稿を作成ください。
認証はOAuth1.0a(authorize.js)を使ってください。」
実際に自動投稿を起動して、自分のアカウントに投稿されていれば完成!
どうしてもできない場合は、正解コードをプレゼント!
(以下LINEより受け取り可能)
「 [Step4 (2/2) ] コーディング(Twitter自動投稿)」の動画は、以下のLINEから受け取りください!
以下の公式LINEから、「自動投稿作成動画」とコメントいただくと、動画を受け取れます
>> 動画を受け取る! <<
最後に
ご視聴ありがとうございました!
「ここ詰まってます!」、「もっとこうして欲しい!」というのがあれば、
以下からご相談してください!!
お役に立てると思います!
✅ 参考
◎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)
}
この記事が気に入ったらサポートをしてみませんか?