2018-01-20

【TwitterのAPIを利用するときに確認!】TwitterのOAuth認証はOAuth1.0を使っていた

ツイッターのOAuth認証(オーオース)を利用しようと思って、クライアントアプリを作ろうと思っていた時に、リクエストトークンを使うことが前提となっていた。


OAuth認証では、リクエストトークンを使うなんてことはRFCの規定に書いていないので、なんじゃこりゃっとなった。


よくわからないので、「リクエストトークン」でいろいろググってみても、全然見つからなかった。出てくるのは基本ツイッターのOAuthに関することだけ。


なので、OAuth認証についていろいろ調べていく過程で、理解できたことをまとめる。





ツイッターはOAuth1.0を利用していた


結論から言うと、RFCの規約で僕が読んでいたのは、OAuth2.0の記述で、ツイッターはOAuth1.0にのっとってAPIが作られているらしい


OAuth2.0の通信規約の詳しい説明はほかページに譲るとして、OAuth2.0ではリクエストトークンを利用した認可を利用しないようだ。(下記ツイートで、OAuth2.0と1.0の違いを説明しているページが存在するので、そちらを参照)


ツイッターのAPIは、OAuth1.0を利用しているようで、OAuth1.0だと、リクエストトークンを利用した認可を行うようだ。ちなみにOAuth1.0を利用したOAuth Providerはツイッターぐらいだそうで。(FacebookなどはOAuth2.0)


OAuth1.0のRFC文書を確認したところ、ちゃんとリクエストトークンの名が存在した。

https://tools.ietf.org/html/rfc5849

ということで、TwitterのOAuth認証は、OAuth1.0の情報をキャッチアップしながら実装するとよい。














注目の投稿

 PythonのTweepyを利用して、Twitter APIを利用している。 その中で、ハマったポイントをメモしておく。 まず、Searchに関して。 Twitter検索は、クライアントアプリ側では、全期間の検索が可能になっている。 一方で、APIを利用する際は、過去1週間しか...