やりたかったけど出来なかったこととか
- 出来るだけ楽に(社内環境的にjQueryで)TwitterAPI使ってデータを取得したかった
- OAuth認証とかしてアクセストークン取ってくるとかただのディレクターもどきにはハードルが高かったほんとはOAuth用のライブラリ、oauth.jsを使うつもりだったけど消えてた…?)
やってみたこと
このページを参考にベアラートークンを取得
https://syncer.jp/twitter-api-matome
取得したベアラートークンをヘッダーにつけてあげて、後は投げるだけ。
ってことで下記参考にしつつ書いてみました。
http://qiita.com/kazusa-qooq/items/8e443d08df2d9a678b1b
$.ajax({
type: 'GET',
dataType: 'jsonp',
jsonp: false,
cache: true,
url: query,
headers: { Authorization: 'Bearer '+ bearerToken },
})
しかし動かない…ということで何時間が調べてようやく原因が発覚
動かなかった原因
- クロスドメイン制限を避けるためにdataTypeにjsonpを指定。
- しかしjsonpを指定した際にはheadersが効かないらしい。詳しくは下記参照 http://stackoverflow.com/questions/17004070/making-jquery-ajax-call-to-twitter-api-1-1-search http://stackoverflow.com/questions/3073287/set-headers-with-jquery-ajax-and-jsonp
ってことでこれはボツになりました。
アクセストークン取得するとこだけ、サーバー側に任せるべきなのか、うーむ…