[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
これらのうち、前者二つはOAuth1の認証で利用し、最後の一つはOAuth2で使います。

かつ、前記記事にあるように、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にポストできるようになったのでした。


このブログの人気の投稿

[Blender3.3] mmd_toolsはどれが最新?

パズドラ 転生龍刀士降臨周回編成 (ベア戦)

パズドラ HUNTER☓HUNTER キメラアント周回編成 (ペア戦)