※2015/11/29記事修正
5年前のサンプルプログラムを動かそうとして、中途半端に修正してました。
<旧コード>
(省略)
//自アカウントのタイムラインを取得するメソッド
function GetMyTimeline($count = 30) {
$opt = array();
$opt['count'] = $count;
//$sidはツイート、リプライの発言ID
if($sid){$opt['since_id'] = null;}
$req = $this->Obj->OAuthRequest("http://api.twitter.com/1/statuses/home_timeline", "GET", $opt);
//jsonをPHP配列に変換
if($req) {$result = json_decode($req);} else {$result = null;}
//エラー処理
if(!is_array($result)) {die('Error');}
//配列を逆順にして返す
return array_reverse($result);
}
(省略)
OAuthRequest()メソッドからget()メソッドに変更したのですが、結果をjson_decode()するところで表記のエラー。返り値はすでにPHP配列なのでデコードする必要はなかったのでした。
<新コード>
(省略)以下は参考まで。
//自アカウントのタイムラインを取得するメソッド
function GetMyTimeline($count = 30) {
$opt = array();
$opt['count'] = $count;
//$sidはツイート、リプライの発言ID
if($sid){$opt['since_id'] = null;}
$req = $this->Obj->get("statuses/home_timeline", $opt);
//PHP配列が返り値なのでjson_decodeは不要
//エラー処理
if(!is_array($req)) {die('Error');}
//配列を逆順にして返す
return array_reverse($req);
}
(省略)
<環境>
Windows10
xampp-win32-5.6.14-4-VC11
PHP 5.6.14
<composer.json>
{
"require":{
"php":">=5.5.0",
"abraham/twitteroauth":"0.6.2"
}
}
<TwitterOAuthインスタンス生成部分>
(省略)
$this->Obj = new TwitterOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret);
$this->Obj->host = 'https://api.twitter.com/1.1/';
(省略)
0 件のコメント:
コメントを投稿