X API v2利用手続きを済ませPython Tweepyで新着記事情報をツイート

公開 | 更新 

X開発者プラットフォームへ登録して公式X API v2の利用に必要なキー情報を入手、Python Tweepyライブラリを使ってWordPressのRSSフィードから得た新着記事情報を、自動ポストできるようにします。

X開発者プラットフォームへの登録

Twitter/Xにログインしている状態でX開発者プラットフォームへアクセス、右上のアイコンより開発者ポータルへ。

図01.X開発者プラットフォーム

図01.X開発者プラットフォーム

BasicもProも有償プランには違いないので目をくれず、下にある無償の Sign up for Free Account をクリック。

図02.Ready to build on X

図02.Ready to build on X

この手続きをする上で面倒に思っていたのがこれ。 Describe all of your use cases of Twitter's data and API で、APIの使用目的を記述するところ。先人の皆さまたちの例を参考に日本語文をDeepLで英訳、それを修正して貼り付けました。

I am an amateur tech-blogger which covers programming and app development as my hobby.
I would like to use X/Twitter API to send posts to my account on X when I publish new articles on my WordPress site for information dissemination.
When using X/Twitter API, I will ensure that I comply with X’s terms and conditions and all applicable laws and regulations.

図03.Developer agreement & policy

図03.Developer agreement & policy

送信後、特に審査もなく自動的に開発者ポータルのダッシュボードページへ、リダイレクトされます。

 

ユーザ認証設定

ダッシュボードに既に存在している、デフォルトプロジェクトAPPの歯車アイコンをクリックします。

図04.Developer Portal Dashboard

図04.Developer Portal Dashboard

ここユーザ認証設定では、アプリ権限をRead and writeに、アプリの種類はWeb App, Automated App or Botを指定、

図05.User authentication settings 1

図05.User authentication settings 1

アプリ情報ではコールバック用のURLと自身のサイトURLが求められるも、今回は特にコールバック処理を伴わないので、それっぽいURLを記しておきます。

図06.User authentication settings 2

図06.User authentication settings 2

フォームを送信すると、 OAuth 2.0 Client ID と OAuth 2.0 Client Secret が表示されるので、これを手元に保存。以降も生成されるこの手のキーやトークンは後から参照できないので、必ず手元に全て控えておきましょう。

図07.OAuth2 Client ID & Secret

図07.OAuth2 Client ID & Secret

キーとトークンの生成

次に、図04の鍵アイコンをクリックして、キーとトークンの設定ページを開きます。

図08.Keys and Tokens 生成前

図08.Keys and Tokens 生成前

先ほど生成したOAuth 2.0の認証情報は一番下に表示されており、ここではそれ以外の上2つを生成するのですが、 Consumer Keys に、おそらく私が昔利用していたAPI v1当時のキー情報が残っていたので、 Regenerate で再生成することに。

図09.Regenerate Consumer Keys

図09.Regenerate Consumer Keys

次に Bearer Token を生成、保存します。

図10.Generate Bearer Token

図10.Generate Bearer Token

最後に Access Token & Secret を生成、保存して、APIアクセスに必要な情報が手元に揃いました。

図11.Access Token and Secret

図11.Access Token and Secret

図12.Keys and Tokens 生成後

図12.Keys and Tokens 生成後

ちなみに今回手続きした無償プランと他の有償プランとの違いは以下の通り。現時点では、ブログ記事の更新を知らせるツイートを数日に一度、発信する程度なので十分。

図13.X API v2 Plans

図13.X API v2 Plans

Tweepyインストール

前回、feedparserとtwikitを導入したOracle Cloud上のUbuntu 20.04ベースの仮想マシンへ、Tweepyをインストールします。

twikitと異なりTweepyはPython 3.7以降での動作が謳われていますが、今回もPython 3.10環境で進めます。

 

Tweepyでツイートポスト

X開発者プラットフォームの手続きで得た総勢7個のキーやトークンのうち、Tweepyで使うのは以下の5個。

  • Consumer API Key
  • Consumer API Secret
  • Bearer Token
  • Access Token
  • Access Token Secret

一見面倒くさそうですが、TweepyのClientオブジェクト生成時にこれらをまとめて付与すれば良いだけなので、テストツイートも簡単に送れます。

図14.Tweepyによるテストツイート

図14.Tweepyによるテストツイート

ほか、公式ドキュメントに文法のほか、基本的な例がいくつか掲載されています。

 

feedparserとの連携

早速、WordPress新着記事をRSSフィードから検出してXへポストするスクリプトを、前回のtwikitからTweepyへ入れ換えました。

RSSフィードから新着記事を見つけてツイートする様子は次の通り。

いまいちツイートの成功率が低いtwikitに比べ、やはり公式APIを使うだけあって動作は安定しています。

コメントを残す

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

CAPTCHA