Twitter API v1.1

TwitterTwitter Developer

処理の流れ

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

基本的な処理の流れ

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

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

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


分かりづらい点

 閲覧数:675 投稿日: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



週間人気ページランキング / 12-27 → 1-2
順位 ページタイトル抜粋 アクセス数
1 Twitter API v1.1 | Twitter Developer(Twitter) 3
2 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう | GitHub(Git) 2
2 アカウント作成 2
2 Twitter アカウント管理 | Twitter Developer(Twitter) 2
3 「Twitter アカウント開設」のために受信可能なメールアドレスと、「Twitter Developersアカウント開設」のために受信可能なメールアドレスは仕様が異なる(と思われる) | Twitter Developer(Twitter) 1
3 フォルダ/ファイル構成 | プログラミング 1
3 2018年を振り返り、2019年の方針を決める。Webサービスビジネス | Webサービスビジネス 1
3 (私の)用語表記仕様試行錯誤履歴 | Webサービス開発 1
3 GitHub(Git) カテゴリー 1
3 Git Bash で異なるディレクトリの指定ディレクトリへ移動する。「$ cd /L/3_開発/git/大阪府」 | Git BASH(Git) 1
3 TwitterOAuth では、画像URL を指定した画像投稿は出来ない(と思う)。ライブラリを使用しなければ出来るから、Twitter API の制限ではない(と思われる)  | Twitter 1
3 プログラミング カテゴリー 1
3 Twitter Developers からのメール   | Twitter Developer(Twitter) 1
3 リファクタは、開発が一区切りついた段階でなるべく実行した方が良い | Webサービス開発 1
3 本 | ブックマーク 1
3 「2023 年 4 月 30 日」前後にTwitterアカウントが「SUSPENDED This App has violated Twitter Rules and policies.」と表示された場合には、「Downgrade」ボタンを押した方がよいと思われます。 | Twitter API (Twitter) 1
3 トラブル発生する度に「Git GUI」を探すが、いつも「Git Bash」が一番じゃん、という結論になる。 | GitHub(Git) 1
3 Git BASH 作業履歴 2022/10/21 / P28 site-ranking(4Th-Ranking-Service) / 他の「.git」ディレクトリが存在した状態のまま下記gitコマンドを実行したため、意図せず「submodule」化されてしまった例 | Git BASH(Git) 1
3 Git BASH 作業履歴 2022/10/20 / P25 manga-user-ranking(Second-Ranking-Service) / 「Add a README」後「git merge --allow-unrelated-histories origin/main」実行して、「README」もコミット履歴に含める | Git BASH(Git) 1
3 感想履歴(技術エントリーを見返した際に不要だと感じた「当時の感想」をこのエントリーへ移動する) | Webサービス開発 1
2026/1/3 1:02 更新