Python で副業(?) Twitter API を使ってみる 〜その6:PIN-Based OAuth でトークン取得〜

IT

アクセストークンの取得(PIN-Based OAuth 編)

PIN−Based OAuth によるトークンの取得は、前回(こちら)の 3-legged OAuth flow の亜種のようなものです。基本的な手順は変わらず、手順3 で使う oauth_verifier の受け取り方が違います。

  1. oauth_callback で指定した HTTP サーバで受け取る(前回)
  2. Twitter 側の画面で PIN コードとして受け取る(今回)

今回もスプレッドシートを使いながら進めますので、お手持ちだない方は以下のリンクから「Generate params for OAuth 1.0a」をご自身の Google Drive にコピーして下さい。
Google Drive: Twitter API – Generate params for OAuth 1.0a –

この記事で使用するスプレッドシートを、自分の Google Drive へコピーする様子

手順1: POST oauth/request_token

これまでの手順と同様、必要事項を入力していきます。
※細かい変換や計算はスプレッドシートが勝手にやります

現在日時を入力する様子
App Key と Nonce を入力する様子
署名ベース文字列が完成した様子
API Key Secret を入力して署名キーを作成する様子

⑤⑥には、それぞれシート内の [D56][D66] の値をコピー→値を貼り付けしてください。こちらも前回と同様です。

署名が完成した様子
コマンドが完成した様子

完成したコマンドを実行して、結果をシートに貼り付けて下さい。(⑦)

完成したコマンドを実行した様子
curl コマンドの結果をシートに反映した様子

手順2: GET oauth/authorize

完成した URL をブラウザで開いて下さい。これも前回と同様です。

承認用の URL が作成された様子

Twitter アカウント情報を入力するページが表示されます。アカウント情報を入力して「連携アプリを認証」ボタンをクリックします。

witter アカウント情報を入力して「連携アプリを認証」ボタンをクリックする様子

すると、今回は「PIN コード」が発行されます。

PIN コードが発行された様子
PIN コードを貼り付けた様子

手順3: POST oauth/access_token

最後の手順も前回と同様です。シートからコピーしたコマンドを実行します。

手順3 で使用するコマンドを確認する様子
コマンドを実行した様子

結果をシートに反映したら PIN-Based OAuth でのトークン取得手順は完了です。

PIN-Based OAuth の手順に従ってアクセストークンを取得した様子

図示ばかりで文章が少なめの投稿になりましたが、内容はご理解いただけましたでしょうか?
使用したスプレッドシートはご自由に使っいただいて構いませんが、MS Excel にはない関数を使用しておりますので、その点はご注意下さい。
またスプレッドシート内に不備がございましたら、大変お手数ですが、ご連絡いただけますと幸いです。

Python ではどうやるの?

Twitter API Referece の「Quick Start」タブからサンプルコードがデプロイされている Github のページを開くことができます。その中で OAuth 1.0a(PIN-Based OAuth)を使用しているのは、例えば「Manage-Likes」用のサンプルコード等です。

https://github.com/twitterdev/Twitter-API-v2-sample-code/blob/main/Manage-Likes/like_a_tweet.py

プログラムを見ていただくと分かりますが、私がスプレッドシート内でやった計算を Python でやっています。認証用の URL をブラウザで開くなどの手間は変わりませんので、あまり期待し過ぎないように(^^;)

これまでの投稿の内容を復習すると、サンプルコードで動作確認するのは、それほど難しいことではないと思いますが、折角なので次回はサンプルプログラムを使ってみましょう!

コメント

タイトルとURLをコピーしました