参考資料
とっても簡単!TwitterのOauth認証
Twitter REST APIの使い方
Developer Twitter にてサイト情報などの設定
developer.twitter
- 右上の「Create an app」よりアプリを作成
- App name:アプリ名
- Application description:アプリ詳細
- Website URL:サイトURL
- Callback URLs:コールバックURL
- 「Keys and tokens」タブよりキー情報を取得
request_token
リクエストパラメータ
header key |
value |
oauth_callback |
[コールバックURL] |
oauth_consumer_key |
[API key] |
oauth_nonce |
[任意で用意したランダムな文字列] |
oauth_timestamp |
[UNIX TIMESTAMPの値] |
oauth_version |
1.0 |
oauth_signature_method |
HMAC-SHA1 |
oauth_signature |
[作成した署名を指定] |
リクエストサンプル
curl \
-X POST \
-H "Authorization: OAuth oauth_callback=https%3A%2F%2Fhogehoge.com%2Foauth%2Ftwitter%2Fcallback.php,oauth_consumer_key=drWFRzMWEau4nNYpyRe8XyMFZ,oauth_nonce=0.72398500%25201567388947,oauth_signature_method=HMAC-SHA1,oauth_timestamp=1567388947,oauth_version=1.0,oauth_signature=kSiZZ%2Fq0D4E0upmC1bjNjxXGNns%3D" \
https://api.twitter.com/oauth/request_token
レスポンスボディ
param key |
value |
oauth_token |
[リクエストトークン] |
oauth_token_secret |
[リクエストトークンシークレット] |
oauth_callback_confirmed |
true |
レスポンスサンプル
oauth_token=Z5rhnQAAAAAA_zSZAAABbO-mJ2I&oauth_token_secret=o1tTJyKl8vmI4SI98BMSGwCElyJnA3qH&oauth_callback_confirmed=true
リクエストパラメータ
リクエストサンプル
# ブラウザで開く
https://api.twitter.com/oauth/authorize?oauth_token=uP0mkAAAAAAA_zSZAAABbO-qrDk
レスポンスボディ
param key |
value |
state |
google_adwords |
oauth_token |
[Authorization Code] |
oauth_verifier |
[URLに付けているパラメータのoauth_verifierの値] |
レスポンスサンプル
「連携アプリを認証」をクリックした場合
{
"oauth_token": "Z5rhnQAAAAAA_zSZAAABbO-mJ2I",
"oauth_verifier": "bEOGBRRpdnIsHRhhp4o70CbEsfvCFV5c"
}
「キャンセル」をクリックした場合
{
"denied": "MG78eQAAAAAA_zSZAAABbOHJBPI"
}
リクエストパラメータ
header key |
value |
oauth_token |
[Authorization Code] |
oauth_consumer_key |
[API key] |
oauth_verifier |
[URLに付けているパラメータのoauth_verifierの値] |
oauth_nonce |
[任意で用意したランダムな文字列] |
oauth_timestamp |
[UNIX TIMESTAMPの値] |
oauth_version |
1.0 |
oauth_signature_method |
HMAC-SHA1 |
oauth_signature |
[作成した署名を指定] |
リクエストサンプル
curl \
-X POST \
-H "Authorization: OAuth oauth_consumer_key=drWFRzMWEau4nNYpyRe8XyMFZ,oauth_nonce=0.83296100%201567395036,oauth_signature_method=HMAC-SHA1,oauth_timestamp=1567395036,oauth_token=I4F8gQAAAAAA_zSZAAABbPAGF9E,oauth_verifier=zFlLLCY56m3OtIYpp8VvOGLMSET2w7xu,oauth_version=1.0,oauth_signature=z/gpaAhdsQjjBR0fugQ5n5+FC+4=" \
-k https://api.twitter.com/oauth/access_token
レスポンスボディ
param key |
value |
oauth_token |
[アクセストークン] |
oauth_token_secret |
[リフレッシュトークン] |
user_id |
[ユーザID] |
screen_name |
[ユーザ名] |
レスポンスサンプル
oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG3ly3sR3RjE0IBSnlQu4ZrUzPiYKmrkVU&user_id=6253282&screen_name=twitterapi