[GAS,X API] GASでX APIを使ってメッセージを投稿する
GASを使おうと思ったのは、はい、X APIを使いたかったからです。
XのAPIを叩く方法は、調べてみると幾つかありそうでした。
その中で、自分でサーバを運用しなくてよくて、定期的にブログなどの状態を見てX側に投稿する仕組みを作るのに良さそうな環境は、GASみたいだなと思ったのです。
で、GASの使い始めは昨日の記事で書いているので、今回はX APIの使い方について。
詳しく書くと、とても分量が多くなるので、超絶簡単に参考にした記事と、それに対する補足を並べていこうかと思います。
(1) X開発者プラットフォームへの登録
これには、以下の記事を参考にしました。
「Twitter API v2(X API Free)の使い方・移行(2024年)【GAS】」(Qiita: 外部リンク)
プロジェクト画面を開くまで、詳細に書かれています。
開発者ポータル(https://developer.x.com/ja)、最初の表示は以下です。
未登録だと、右上にメニューの横三本線(「三」みたいな表示)があるので、そこを押して、
あとは、ログインして、登録して...ですね。それでプロジェクトの画面が出ます。
無料のアカウントですと、プロジェクトは一つしか作れませんから、最初に作られたプロジェクトで話を進めます。
で、ここでいくつかの情報を入手しないといけません。
- API KeyとAPI Secret
- Access TokenとそのSecret
- Client IDとClient Secret
かつ、前記記事にあるように、Client IDとClient SecretはフィードバックのURLを設定することで得られます。
(2) さてどうして、OAuth1とOAuth2の両方の情報が必要かと言えば、X APIで画像付きのメッセージをポストするには、OAuth1(X API V1.1)を使って画像をアップロードし、OAuth2(X API v2)を使ってメッセージを投稿しないといけないからです。
逆に言えば、画像無しのテキストの投稿ならOAuth2の情報のみで大丈夫です。
そして、それの実例が以下の記事で示されています。
「OAuth2、API v2でTwitter🐦にツイートできるようにしてみた(GAS)」(Qiita: 外部リンク)
でも、これだと文章のテキストしか投稿できません。
(3) 画像付きのテキストの投稿例は以下の記事にありました。
「【X(Twitter) bot】GASでスプレッドシートから自動投稿するX Botの作り方:③テキスト+画像投稿」(外部リンク)
この記事は、テキストの投稿にもOAuth1を使ってましたが、それを一つ上の記事に合わせてOAuth2を使って投稿する形に書き換えれば良いです。
(画像とテキストの両方をOAuth1でやっても問題ないかは試してません)
と言うことで、これらの記事を組み合わせることで、画像付きのメッセージをXにポストできるようになったのでした。