TwitterのApplication-only authenticationを試した
Application-only authentificationとは
詳細は公式ドキュメントを参照。
特定ユーザーの情報取得、ツイート検索といったAPIのみが使用できる。
ユーザー側のアプリ連携を要しないため、勝手にツイートしたりブロックしたりという危険がなくて良い。
トークンの取得
curl -u (API key):(API secret) -d grant_type=client_credentials https://api.twitter.com/oauth2/token
公式ドキュメントではBase64化してコロンでつなげてますが、それがBasic認証とのこと。
するとトークンが返ってくるので
curl -H "Authorization: Bearer (token)" https://api.twitter.com/1.1/search/tweets.json?q=Java
といった感じで使える。
PHPで使う
ツイート検索の結果をJSONPで返してみる。PHPのcURLを使った。
ディレクトリ内にCA証明書が必要。
<?php header('Content-type: text/javascript'); $ch = curl_init(); curl_setopt($ch, CURLOPT_CAINFO, getcwd().'/cacert.pem'); curl_setopt($ch, CURLOPT_URL, 'https://api.twitter.com/1.1/search/tweets.json?q='.urlencode($_GET['q'])); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer (token)')); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $json = curl_exec($ch); curl_close($ch); echo $_GET['callback'].'('.$json.')'; ?>