LoginSignup
4

More than 5 years have passed since last update.

posted at

Organization

Twitter APIのOAuthToken取得方法

TwitterAPIにアクセスするためのトークン取得に少し手間取ったのでメモ
すでにTwitterの開発者アプリを作成していることを前提としています。

ConsumerKeyとConsumerSecretの取得

https://apps.twitter.com/app/あなたのアプリID/keys
からConsumerKeyとConsumerSecretは取得できます。

ConsumerKeyとConsumerSecretのエンコーディング

トークンを取得するためには
oauth2/token
POSTでリクエストをする必要があります。
しかしその際のConsumerKeyConsumerSecretの取扱に要注意!

ConsumerKeyとConsumerSecretを:で繋いで更にBase64でエンコードする必要があります。
このサイトでエンコードしました

例.

ConsumerKey ConsumerSecret :でつなぐ Base64エンコード
AAA BBB AAA:BBB QUFBOkJCQg==

oauth2/tokenに対してのリクエストのヘッダーでAuthorizationの値として必要になるのがこの例で言う、QUFBOkJCQg==です。

実際にCurlでリクエスト

今回はさくっとCurlで取得しました。
Authorizationの値にはBasic QUFBOkJCQg==のように値を設定します。

curl --request 'POST' 'https://api.twitter.com/oauth2/token' --header 'Authorization: Basic 上記の手順で作成した値' --header 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --data "grant_type=client_credentials" --verbose

下記のようなレスポンスが帰ってきたら成功!

{"token_type":"bearer","access_token":"AAAAAAAAAAA"}

最後に

https://apps.twitter.com/app/あなたのアプリID/keys
にあなたのアクセストークンとか書いてるから最初はそれでリクエストしてみたけど、
ダメで心が一度折れました。
あとBase64エンコードせずにリクエストして心が折れました。
SNSのAPIはどこも堅牢な作りになってきているイメージですね・・・・

次回はInstagramグラフAPI触ってみたい

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4