TwitterのAPI申請は昔は簡単に申請してすぐに使えるようになっていたのですが、最近だと英語のフォームを記入して数日待って、申請が通るかどうかを確認する、という感じでとても申請フローがめんどくさいです。 今回は、そう感じている方向けの記事になります。
Twitter APIの申請なしでツイートできるIFTTT
ということで、IFTTTを用いたツイートを紹介したいと思います。 といっても、以前も紹介しました。
こちらにも書いてありますが、IFTTTを用いて、IFTTTで設定したWebhooksにツイートしたい内容を送るだけです。それだけで簡単にツイートをすることができます。 構成としては上記の画像のようなフローになります。
遅延が発生する問題
ただ、前回の記事にも書きましたし、上で紹介した記事の下の方にも追記という形で書いたのですが、Webhooksをトリガーとすると最大6時間の遅延が発生するようです。
こちらの記事が、前回書いた、遅延の調査報告的なものになります。この記事からもわかるように、ツイートしたいと思ってAPIを叩いてからツイートされるまでに最大6時間かかってしまいます。そんなに遅れてツイートしていたら、情報の鮮度が落ちてしまいます。
IFTTTで速攻でツイートできるトリガーに変える
ということで、今回紹介するトリガーはEmailです。
トリガーをEmailに設定して、ツイートする内容をメールの本文(Body)に書いて送るだけです。
このようにすることで、IFTTTに登録しているメールアドレスから trigger@applet.ifttt.com
にメールを送ると、その本文がツイートされるようになります。
実際のプログラム
さて、今回も楽ちんプログラミングが書ける、Google Apps Script(以降、GAS)のソースコードを紹介したいと思います。
function tweet(text) { MailApp.sendEmail('trigger@applet.ifttt.com', '件名', text) }
たったのこれだけです!やはり、GASはメール送信とかGoogleアカウント周りの振る舞いが簡単ですね。
あとは、ツイートさせたいタイミングで tweet()
メソッドを呼ぶだけです。
ここでの注意は、このスクリプトを動かすGoogleアカウントのメールアドレスが上で紹介したIFTTTのEmailのトリガーで設定しているメールアドレスと一致しなければなりません。
ボットにツイート
上の関数を呼ぶだけで以下のように簡単にツイートさせることができます。しかも、メールを送った直後にツイートされます。
ただ、上記画像のようにIFTTTからツイートしたのはバレてしまいますが、まぁこれはどんな手段を取ったとしても、どのアプリからツイートされているかはわかるので仕方ないですね。
さいごに
さて、今回の手法で、スクリプトを実行した直後にツイートさせることを実現できました。ただ、トリガーがEmailで、また他で同じようにメールのトリガーを設定できなくなってしまうので、使い方には注意しましょう。最悪、別のアカウントを作成するとかもありなのかもしれないです(複数アカウントが許されていればですが) これで、簡単にツイッターのボットが作成できるようになりましたね!