twitteroauthを使って基本のGET
タイムライン、フォロー、フォロワー、ユーザ情報 を簡易クラスに追加
基本のGET
アクションコントローラのクラスにprivateメソッドを追加。
PHP
class twitterController
{
(略)
/**
* インデックスアクション
*/
public function indexAction()
{
// タイムライン
$response = $this->statusesHomeTL(50);
// ユーザタイムライン
// $response = $this->statusesUserTL('000000000', 50);
// フォロー一覧(ID)
// $response = $this->friendsIds('000000000');
// フォロワー一覧(ID)
// $response = $this->followersIds('000000000');
// ユーザ情報
// $response = $this->usersShow('000000000');
print_r($response);
exit;
}
/**
* タイムライン
*
* @param int $count
* @param string $since_id
* @param string $max_id
* @param boolean $trim_user
* @param boolean $exclude_replies
* @return array
*/
private function statusesHomeTL($count = 20, $since_id = NULL, $max_id = NULL, $trim_user = FALSE, $exclude_replies = TRUE)
{
// url
$url = 'statuses/home_timeline';
// パラメタ
// 表示数(最大200件)
$parameters['count'] = $count;
// 取得対象 > 指定ID
if (! empty($since_id)) {
$parameters['since_id'] = $since_id;
}
// 取得対象 <= 指定ID
if (! empty($max_id)) {
$parameters['max_id'] = $max_id;
}
// ユーザ情報をIDのみのする(TRUE)、ID以外も含む(FALSE)
$parameters['trim_user'] = $trim_user;
// リプライを含む(TRUE)、含まない(FALSE)
$parameters['exclude_replies'] = $exclude_replies;
return $this->twitteroauth->get($url, $parameters);
}
/**
* ユーザタイムライン
*
* @param string $user_id
* @param int $count
* @param string $since_id
* @param string $max_id
* @param boolean $trim_user
* @param boolean $exclude_replies
* @return array
*/
private function statusesUserTL($user_id, $since_id = NULL, $count = 20, $max_id = NULL, $trim_user = FALSE, $include_rts = FALSE)
{
// url
$url = 'statuses/user_timeline';
// ユーザID
$parameters['user_id'] = $user_id;
// 表示数(最大200件)
$parameters['count'] = 200;
// 取得対象 > 指定ID
if (! empty($since_id)) {
$parameters['since_id'] = $since_id;
}
// 取得対象 <= 指定ID
if (! empty($max_id)) {
$parameters['max_id'] = $max_id;
}
// ユーザ情報をIDのみのする(TRUE)、ID以外も含む(FALSE)
$parameters['trim_user'] = $trim_user;
// リツイートを含む(TRUE)、含まない(FALSE)
$parameters['include_rts'] = $include_rts;
return $this->twitteroauth->get($url, $parameters);
}
/**
* フォロー一覧(ID)
*
* @param string $user_id
* @return array
*/
private function friendsIds($user_id = NULL)
{
// url
$url = 'friends/ids';
$parameters = array();
// ユーザID
if (! empty($user_id)) {
$parameters['user_id'] = $user_id;
}
return $this->twitteroauth->get($url, $parameters);
}
/**
* フォロワー一覧(ID)
*
* @param string $user_id
* @return array
*/
private function followersIds($user_id = NULL)
{
// url
$url = 'followers/ids';
$parameters = array();
// ユーザID
if (! empty($user_id)) {
$parameters['user_id'] = $user_id;
}
return $this->twitteroauth->get($url, $parameters);
}
/**
* ユーザ情報
*
* @param string $user_id
* @return array
*/
private function usersShow($user_id)
{
// url
$url = 'users/show';
// ユーザID
$parameters['user_id'] = $user_id;
return $this->twitteroauth->get($url, $parameters);
}
}
APIの上限に達するとRate limit exceededが戻る
stdClass Object
(
[errors] => Array
(
[0] => stdClass Object
(
[message] => Rate limit exceeded
[code] => 88
)
)
)