Twitter API v1.1

TwitterTwitter Developer

処理の流れ

 状態:  閲覧数:2,301  投稿日:2016-11-11  更新日:2019-03-07
「OAuth 1.0 a」を採用しているが、一部で「OAuth2.0」の仕組みも導入している
Application-only authentication


OAuth


2016年現在の最新標準は、2012年にRFCとして発行された「OAuth 2.0(RFC6749、RFC6750)」
・しかし、「Twitter API v1.1」の「Authentication Model」は、旧バージョンの「OAuth Core 1.0 Revision A」がメイン
・「OAuth1.0」「OAuth2.0」の互換性はない

Twitter Developer Documentation

基本的な処理の流れ

 閲覧数:489 投稿日:2016-11-11 更新日:2016-11-11

1.「Twitter Developers」でApp作成


自動発行
・Consumer Key (API Key)
・Consumer Secret (API Secret)


2.「アクセストークン」取得


「アクセストークン」とは?
・Access Token
・Access Token Secret

「アクセストークン」取得するためには?
・2-1.「リクエストトークン」取得
・2-2.取得した「リクエストトークン」を使用して、ユーザーを「Twitterサーバー上にある認証画面」へ誘導。ユーザが「連携アプリを認証」ボタンクリック
・2-3.アクセストークン取得

「アクセストークン」取得すると?
・「Twitter API」で各種リクエスト受付可能になる

「アクセストークン」取得するまでの流れ

 閲覧数:473 投稿日:2016-11-11 更新日:2016-11-11

2-1.「リクエストトークン」取得


POST送信
https://api.twitter.com/oauth/request_token

結果例
・戻り値
oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik&oauth_token_secret=Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM&oauth_callback_confirmed=true

POST oauth/request_token


2-2.取得した「リクエストトークン」を使用して、ユーザーを「Twitterサーバー上にある認証画面」へ誘導


GET送信
https://api.twitter.com/oauth/authenticate?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik

ユーザが「連携アプリを認証」ボタンクリック
・結果例

https://api.twitter.com/oauth/authorize
Callback URL?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik&oauth_verifier=Toe2Fl6p0LlqfvpWNwisLTUDRZEUlOCT

GET oauth/authenticate


2-3.アクセストークン取得


POST送信
https://api.twitter.com/oauth/access_token

結果例
・成功したリクエストに対する戻り値
oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG3ly3sR3RjE0IBSnlQu4ZrUzPiYKmrkVU&user_id=6253282&screen_name=twitterapi


戻り値比較一覧表



2-1.リクエストトークン 2-2.認証画面 2-3.アクセストークン
oauth_token Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik 6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY
上記使用用途 認証画面へ誘導する際、URLの一部として使用 アクセストークンを取得する際、パラメータとして使用 「Twitter API」へ各種リクエストする際、パラメータとして使用
oauth_token_secret Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM - 2EEfA6BG3ly3sR3RjE0IBSnlQu4ZrUzPiYKmrkVU
上記使用用途 アクセストークンを取得する際、署名キーを作成するため使用 - 「Twitter API」へ各種リクエストする際、署名キーを作成するため使用
oauth_callback_confirmed true - -
上記使用用途 未使用 - -
oauth_verifier - Toe2Fl6p0LlqfvpWNwisLTUDRZEUlOCT -
上記使用用途 - アクセストークンを取得する際、パラメータとして使用 -


分かりづらい点

 閲覧数:423 投稿日:2016-11-11 更新日:2016-11-11

同じキー名でも、使用場面毎に異なる値が返ってくる(ことがある)


同じ値が返ってくる場合もある
・紛らわしいし、分かりづらい


oauth_token


リクエストトークン
・「https://api.twitter.com/oauth/request_token」からの戻り値
・リクエストトークンを意味する
・認証画面へ誘導する際、URLの一部として使用

認証画面
・「https://api.twitter.com/oauth/authenticate」アクセス後のURLパラメータ
・リクエストトークンを意味する
・上記と同じ取得結果
・アクセストークンを取得する際、パラメータとして使用

アクセストークン
・「https://api.twitter.com/oauth/access_token」からの戻り値
・アクセストークンを意味する
・「Twitter API」へ各種リクエストする際、署名キーを作成するため使用


Twitter アプリケーション分類

authorize authenticate