
公式APIはイラン!TwitterBOT作成方法【IFTTT】
Twitter APIなんてイラン!
利用申請するのに英語で理由を書かないといけないし、申請が通るのに数分だったり数時間だったりバラバラで、申請が却下されたときは理由が分からない。利用申請が通った後もTwitter社の都合でAPI利用権限が停止されるから公式APIは嫌い!TwitterAPIは使いたくない!イラン!でもTwitterBOT作りたい!
そういう訳でIFTTTでTwitterBOTを作りました。(Googleも使います)
この記事の対象者
・TwitterのAPI利用制限された、利用制限が怖い。でもTwitterBot作りたい
・無料で自由度の高いTwitterBotを自力で作りたい
・プログラムが、ちょっとわかる
IFTTTとは
IFTTTとは、いろいろなwebサービスを組み合わせて連携させることのできるサービスです。例えばInstagramに画像を投稿したら自動的にTwitterにも投稿する、LINEとGoogleカレンダーを連携さカレンダーの通知をLINEで受け取るなどの連携が可能。簡単な連携ならプログラミング不要で連携ができます。最近流行りのノーコード、ローコードサービスです。
IFTTTではIF(もし~なら)That(~する)の2項目を設定します。
IF:Instagramに投稿したら
That:Twitterにも投稿する
このように設定していたら、自分でInstagramに投稿すると自動的にTwitterに投稿されます。
説明の流れ
GoogleAppsScriptーIFTTT-Twitterと連携してツイートする仕組みを作ります。GoogleAppsScriptがメインなので自由度の高いBotが出来ます。
説明の流れはこうです
1.IFTTTに登録する
2.IFTTTの設定ーIF、That、KEYの取得
3.GASのプログラム設定
1.IFTTTに登録する
アカウントを登録
https://ifttt.com/maker_webhooks
上のリンクから飛んで登録してください。登録せずにGoogleアカウントやFacebookアカウントでもログインすることもできます。
2.IFTTTの設定ーIF、That、KEYの取得
アカウント登録後、画面右上のCreateボタンをクリックして作成画面に移動します。

IFTTTの設定ーIF:
IF(もし~なら)の部分を設定します。
「If This Add」をクリックしてwebhooksで検索して、 webhooksの中の「Receive a web request」を選択、Connectします。





Event Nameを入力します。適当に名前を付けますが、名前は控えておきましょう。

IFTTTの設定ーThat:
That(~する)も同じ要領で設定していきます。Then That Addを選択して進み、「Twitter」で検索してTwitterの中の「Post a tweet」を選択します。


ここでTwitterへのログインと認証を求められます。「連携アプリを認証」をクリックして連携してください。
Tweet textの内容に{{Value1}}と記述します。Value1をそのままツイートするという意味です。 ちょっとわかりにくいと思うのですがとりあえずこうしてください。あとのプログラムでValue1パラメータで指定した文字列をツイートすることになります。

IFTTTの設定ーWebhooksのKEYの取得:
https://ifttt.com/maker_webhooks
上のリンク先へ進みます。
ここのページの右上のDocumentationをクリックします。

Documentationをクリックすると、
Your key is: ******* のように自分のキーが表示されます。このキーをメモします。

Your keyの画面はX閉じしてもらって、この先は画面なりに進みます。
Continueをクリック

Finishをクリック

IFTTTの設定は終わりました。
3.GASのプログラム設定
ではGAS側のプログラムを書きます。
const EVENTNAME = 'EventName'; //設定したEventNameに変えてください
const WEBHOOK_KEY = 'WebhooksのKEY';//メモしたWebhooksのKEY
//IFTTTからツイートする
const tweet = (text) => {
tweetByIfttt(text);
}
const tweetByIfttt = (text) => {
const url = 'https://maker.ifttt.com/trigger/' + EVENTNAME + '/with/key/' + WEBHOOK_KEY ;
const data = {'value1':text};
const headers = {
"Content-Type": "application/json"
};
const options = {
'method' : 'post',
'headers' : headers,
'payload' : JSON.stringify(data),
};
UrlFetchApp.fetch(url,options);
}
const testTweet = () => {
tweet('🐹テスト🐹');
}
この部分は自分の環境に合わせて書き換えてください
const EVENTNAME = 'EventName'; //設定したEventNameに変えてください
'EventName'のところは「IFTTTの設定ーIF」で設定したEventName。
const WEBHOOK_KEY = 'WebhooksのKEY';//メモしたWebhooksのKEY
'WebhooksのKEY'は「IFTTTの設定ーWebhooksのKEYの取得」でメモしたKEYです。
GASのデバッグモードでtestTweetを実行してみてください。

これを応用すればGASでスクレイピングした結果をツイートしたり、
メールで受け取った内容をツイートしたりできます。
不動産競売情報をスクレイピングしてTwitterに投稿している例がこちら

IFTTTを使えば、少しのプログラミング量でいろいろなことができます。これはかなり面白いので今後も記事を書きたいと思います。
最後までありがとうございました。
#プログラミング #GoogleAppsScript #GAS #コピペ #Twitter #IFTTT #TwitterBOT #BOT #ツール #ノーコード #ローコード #TwitterAPI
お薦めの本
きちんとしたTwitterのBOTが作りたい方にお勧めの本は下のリンク↓
Kindle版は350円。読み放題に入っている方は無料で読めますのでお試しください。インターネットで無料情報を集めるのもいいですが、本や有料記事を買った方が結果的に時間の節約になります。アマギフをチャージしてから買った方がポイントと貯まってお得かも
他の記事