cakephp 2.2.2 でTwitter検索API 1.1を使う

表題にはcakephpって書いてるけど普通にPHPで使う方法も同じってことで。

Twitter API 1.1 からOAuthでの使用が必須になったのでまずはOAuthに必要な情報をTwitterにもらいに行く。

https://dev.twitter.com/

Twitter開発者向けページにログインしてアプリを作成した後

https://dev.twitter.com/apps

Consumer key

Consumer secret

Access token

Access token secret

これらの文字列を取得しとく。

 

次はOAuthのSDKを用意。

https://dev.twitter.com/docs/twitter-libraries#php

Twitter開発者向けページで公式に紹介されてる TmhOAuth を使うことに。

太字で紹介されてるぐらいなのでオススメなんかなと。

https://github.com/themattharris/tmhOAuth

ここからダウンロードする。

 

んで解凍したら不要ファイルを削除。

.gitmodules

composer.json

LICENSE

README.md

このへんのファイルはSDKとして使うだけなら不要なのでさくっと削除。

んで中身を Vendor/tmhOAuth を作って配置。

 

とりあえず使ってみようってことでControllerにゴリゴリ書く。

(Controllerにゴリゴリ書くのは良くないけどひとまず動作確認)

[cc lang=’php’ ]
App::uses(‘AppController’, ‘Controller’);

// Twitter SDK https://github.com/themattharris/tmhOAuth
App::import(‘Vendor’, ‘tmhOAuth’, array (‘file’ => ‘tmhOAuth’.DS.’tmhOAuth.php’));

class FooController extends AppController {

/**
* Controller name
*
* @var string
*/
public $name = ‘Foo’;

/**
* Twitter OAuth Configure
*
* @var array
* @access private
*/ // ここにアプリページで取得した設定を入れる
private $__oauthConcigure = array (
‘consumer_key’ => ‘********************’,
‘consumer_secret’ => ‘********************’,
‘user_token’ => ‘********************’,
‘user_secret’ => ‘********************’,
);

/**
* Twitter API Ver
*
* @var array
* @access private
*/
private $__twitterApiVsersion = 1.1;

/**
* Before Filter
*
* @var array
*/
public function beforeFilter() {
// Twitter OAuth Object
$this->tmhOAuth = new tmhOAuth($this->__oauthConcigure);
}

/**
* Index
*
* @return void
*/
public function index() {
$this->autoRender = FALSE;

// 検索API
$code = $this->tmhOAuth->request(
‘GET’,
$this->tmhOAuth->url($this->__twitterApiVsersion. ‘/search/tweets’),
array (‘q’ => ‘ここに検索したい文字列を入れる’)
);

// レスポンス取得
$result = json_decode ($this->tmhOAuth->response[‘response’], TRUE);
var_dump($result);
}
}
[/cc]

こんな感じでSDKのおかげで簡単に取得完了。

 

本来ならこの手の処理はModelかComponentに書いて処理するのがよろしいかと。

今回やりたかったのは検索結果をDBに入れて後から呼び出しだったので動作確認として Controller に書いただけってことで。

 

カフス Twitter ツイッター ! カフスボタン カフリンクス 【レビューを書いて 送料無料 】 IT インターネット 関連 ビジネス スーツ ギフト プレゼント メンズアクセサリー として! 人気 激安 【smtb-TD】 【楽ギフ_包装】

コメントを残す

メールアドレスが公開されることはありません。