Twitter API v1.1

TwitterTwitter Developer

処理の流れ

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

基本的な処理の流れ

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

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

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


分かりづらい点

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



週間人気ページランキング / 4-9 → 4-15
順位 ページタイトル抜粋 アクセス数
1 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう | GitHub(Git) 4
2 we are unable to approve your developer application at this time. | Twitter Developer(Twitter) 2
2 Twitter 複数アカウントでPOSTしたい | Twitter Developer(Twitter) 2
2 TwitterOAuth では、画像URL を指定した画像投稿は出来ない(と思う)。ライブラリを使用しなければ出来るから、Twitter API の制限ではない(と思われる)  | Twitter 2
2 teratailでは質問しない | プログラミング 2
2 「Twitterデータ」対応 | Twitter Developer(Twitter) 2
2 Windows10で使用できるGitクライアント | GitHub(Git) 2
3 「Google AdSense」と「iOSアプリ開発」の共通点 | Webサービスビジネス 1
3 Webサイト制作履歴 | Webサービス開発 1
3 アクセス数が少ない Webサイト(開発ブログ) を非公開へ変更 | Webサービス開発 1
3 13.作業ディレクトリ内の変更をステージングエリアへ追加してコミット候補にする / 14.インデックスに追加されたファイルをコミットする(コミットメッセージも指定する) / 15.ローカルリポジトリ(mainブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる 1
3 Webサイト終了プライベート手順 | Webサービス開発 1
3 トラブル発生する度に「Git GUI」を探すが、いつも「Git Bash」が一番じゃん、という結論になる。 | GitHub(Git) 1
3 「既存Twitterアプリが使用できる」からと言って「Twitter開発者アカウント」を保持しているとは限らない | Twitter Developer(Twitter) 1
3 GitHub への PUSH へ 1回成功したぐらいでは、Git 理解したことには全然ならない | Git BASH(Git) 1
3 同じ携帯電話番号でも、複数の「Twitter Developers」アカウントを作成可能 | Twitter Developer(Twitter) 1
3 電話番号認証を新規で行う(SMSメールを受信する)度に、(以前の該当アカウントでは)下記メールを受け取る 1
3 リファクタは、開発が一区切りついた段階でなるべく実行した方が良い | Webサービス開発 1
3 Twitter API 1.0 | Twitter API 旧仕様(Twitter) 1
3 「Twitter Developers」でApp作成 | Twitter Developer(Twitter) 1
2025/4/16 1:02 更新