Google Apps Scriptでツイートするスクリプトを作ってみた

みなさんGoogle Apps Scriptって知っていますか?

そういうものがあることは知っていたんですが、使う機会が全くなかったので僕は触ったことがありませんでした。

仕事で触れる機会があった為、少し学習してみたのですが、かなり万能なスクリプトです。

僕も始めたばかりなので、偉そうなことは言えませんが、
よかったらこれを機にGASを始めてみませんか?

Google Apps Scriptからツイートができる?

Twitter APIを使えば、Google Apps Scriptからツイートをすることができます。

kazy
本記事を読むことで、Google Apps Scriptでツイートの投稿を行う方法を学ぶことができます。

それではご紹介していきますね。

まずはスプレットシートを作成する

Google Apps Scriptのエディタを開く為には、まず新規スプレットシート を作成します。

ツール > スクリプトエディタを開きます。

すると以下の画像のようにエディタが表示されます。

ここまでで開発環境の構築は完了です。

TwitterのAPIキーを取得する

では次にTwitter APIを使用するので、TwitterにアクセスしてAPIキーを取得しにいきます。

Twitter Developerにアクセスする

まずTwitterにログインしている状態で以下のURLにアクセスします。
ログインしてない場合は、右上のSign Inからログインしてください。

https://developer.twitter.com/

次にログインしている状態で右上のApplyをクリックします。

そして左下の「Apply for a developer account」をクリック

Twitter APIの使用用途選択

Twitter APIの使用用途について聞かれるので、使う理由に該当する項目にチェックを入れて[Next]をクリックします。

kazy
使用用途は、何でもいいと思いますが、今回はAPIについて調べているのでExploring the APIを選択しましょう!

アカウント情報入力

Twitterアカウント情報が表示されるので、下にスクロールすると
国、名称を入力して[Next]をクリックします。

次にTwitter APIをどのように使用するかを200文字以上で入力します。

さらにスクロールして、

Are you planning to analyze Twitter data?のチェックをオフにします。

今回はデータの分析はしないのでオフで大丈夫です。

次にPlease describe your planned use of these features.
ですが、ツイートするAPIを使用するのでその使用目的を100文字以上で入力します。

そして、Do you plan to display Tweets or aggregate data about Twitter content outside of Twitter?のチェックですが、
オフにしてください。

今回は、外部にツイート内容の表示などはしないのでオフで大丈夫です。

最後のチェックは政府機関で使用するかどうかなのでオフにしてください。

これでNextが活性化されますので押して次に進みます。

ここから先は確認と利用規約のチェックなので、説明は簡略します。

この画面までくると確認メールが登録アドレスに送信されますので、メールを確認してください。

受信したメールを確認する

受信したメールにConfirm your emailボタンがあるのでタップします。

すると上の画面になるのでCreate an appを選択してさらに次の画面でCreate an appを選択します。

Twitter APIの使用アプリについての詳細入力

Twitter APIを使うアプリについての詳細を入力します。

App nameは任意の名称を入力します。

Application descriptionには使用する理由を入力します。

Website URLはTwitter APIを使用するところのURLを入力します。
これは、自分のTwitterアカウントのURLで問題ないです。

Callback URLにURLを入力します。
入力するURLは以下です。

https://script.google.com/macros/d/スクリプトID/usercallback

kazy
コールバックURLには、GASプロジェクトのスクリプトIDが必要です。先に確認しておきましょう。
このスクリプトIDの箇所には、最初に作ったスプレットシートのIDを入力します。これはスクリプトエディタにある
ファイル > プロジェクトのプロパティ から見ることができます。

ここまで入力したら最後の

Tell us how this app will be usedにアプリの使い方について入力して
Createをタップします。

kazy
上記の項目以外は必須ではないので、今回は省略して大丈夫です。

すると利用規約が表示されるので、さらにCreateをタップします。

API key、API secret keyの取得

Key and Tokensタブに移動してAPI Keyと API secret Keyをコピーします。

これでTwitter APIを使用する準備ができました。
それではGASのエディタに戻りましょう。

ライブラリのインストール

・外部サイトをアクセスするためのライブラリであるOAuth1
・簡単にTwitter APIにアクセスできるTwitterWebServiceライブラリ

上記を導入します。

スクリプトエディタ上のリソース > ライブラリを選択すると、ライブラリ情報の一覧が表示されるので、そこの下部のライブラリを追加の欄に以下それぞれプロジェクトキーを入力して追加します。

OAuth1
Mb2Vpd5nfD3Pz-_a-39Q4VfxhMjh3Sh48
TwitterWebService
1rgo8rXsxi1DxI_5Xgo_t3irTw1Y5cxl2mGSkbozKsSXf2E_KBBPC3xTF

バージョンはそれぞれの最新バージョンでいいと思います。
デベロッパーモードはどちらでも良いです。

これで準備は完了しました。それではスクリプトを書いていきましょう。

TwitterAPIラッパークラスを作る

GASでクラスを作るのにベストな方法がわからなかったので、以下のようにクラス化しましたが、本当はラッパークラス.クラスメソッドとして呼び出せるようにしたかったのですがインスタンスとして関数を呼びだすような作りになっています。

もうちょっと勉強が必要ですが、今回はこれでいきます。

API_KEYとAPI_SECRETはさきほどコピーしておいたものを貼り付けてください。

以上のコードを

の下に貼り付けてください。

Twitterの認証を通す

それではmyFunctionに実行コードを書いていきます。

まず認証を通しておきます。

これを実行します。

上記をmyFunction()の中身をコピペしたあと[command + s]で保存します。

関数がmyFunctionになっていることを確認してください。

なっていなければ、選択してプルダウンからmyFunctionを選択済みにしてください。

そして[command + R]、もしくは▶︎をクリックして実行してください。

承認アラートが表示された場合

下記のアラートが表示された場合は、承認作業を行います。

許可を確認をクリックして次に進みます。

アカウントを選択します。

すると上記画面になるので詳細をクリック。

さらに無題のプロジェクト(安全ではないページ)に移動をクリックします。

ここで許可を選択すれば、スクリプトを実行することができるようになります。

ログを確認する

スクリプトを実行すると、特に何も起きませんが、これで大丈夫です。

[command + Enter]を押してログを表示させてみてください。

Twitter認証許可を行うためのURLが出力されているのでそれをコピーしてアクセスしてください。

連携アプリを認証をタップするとGASで指定したコールバック関数が呼ばれ認証成功と表示されているはずです。

これで認証は完了しました。

ツイートしてみる

あとは以下のようにツイートするように関数を書き換えて実行すればつぶやけるようになります。

どうでしょうか。
設定自体はちょっと手間ですが、これさえできれば、スプレットシートに文章を書いて定期的にツイートすることも可能です。

これを機にみなさんもGAS使って色々試してみてはいかがでしょうか。

それでは最後までお読みいただきありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA