Twitter API v1.1

TwitterTwitter Developer

処理の流れ

 状態:  閲覧数:963  投稿日: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

基本的な処理の流れ

 閲覧数:195 投稿日: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」で各種リクエスト受付可能になる

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

 閲覧数:206 投稿日: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 -
上記使用用途 - アクセストークンを取得する際、パラメータとして使用 -


分かりづらい点

 閲覧数:166 投稿日: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検索結果。「Twitter API v1.1」に関する最新ツイート

てんてん/相互フォロー100 @CR_wimp

Twitter アプリケーション分類

authorize authenticate



週間人気ページランキング / 1-18 → 1-24
順位 ページタイトル抜粋 アクセス数
1 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう | GitHub(開発環境) 6
2 Twitter 電話番号の問題 | Twitter Developer(Twitter) 3
3 TwitterOAuth では、画像URL を指定した画像投稿は出来ない(と思う)。ライブラリを使用しなければ出来るから、Twitter API の制限ではない(と思われる)  | Twitter 2
3 「ERROR: Repository not found. fatal: Could not read from remote repository.」と表示された場合は、 | Git BASH(開発環境) 2
3 個人事業主が導入可能な決済系サービス最終選考 | 決済(Webサービスビジネス) 2
3 「Email sent! We sent you a new copy of the confirmation email.」と表示されているのに、メール受信出来ない | Twitter Developer(Twitter) 2
4 気になった動画 | ブックマーク 1
4 カテゴリ一覧 1
4 Windows10で使用できるGitクライアント | GitHub(開発環境) 1
4 Webサービスビジネス カテゴリー 1
4 mhtmlの問題 / mhtmlで保存するのは何のため? / 欲しい拡張機能がないため、自分で作成するしかない 1
4 Twitter Developers からのメール   | Twitter Developer(Twitter) 1
4 2020年1月21日から最初に生成した以降、アクセストークンとアクセストークンシークレットは表示されなくなる | Twitter Developer(Twitter) 1
4 Twitter API v1.1 | Twitter Developer(Twitter) 1
4 Twitter API 1.0 | Twitter API 旧仕様(Twitter) 1
4 ゲストコメント一覧ページ 1
4 「Twitterデータ」対応 | Twitter Developer(Twitter) 1
4 Twitterで、画像(extended_entities)取得できないツイートがある場合は、tweet_modeパラメータ付与 | Twitter Developer(Twitter) 1
4 開発 0 1
4 Twitter 認証で電子メール取得するまで | Twitter Developer(Twitter) 1
2022/1/25 1:01 更新