当API 1.0关闭时,我不得不疯狂地争抢我的所有Twitter Feed。花了一段时间,但我设法让GET状态/ user_timeline再次运行。现在我正在尝试使用搜索,但我无法读取结果。 JSON文件正在返回正确的数据。
这是我的PHP代码:
$code = $tmhOAuth->request('GET', $tmhOAuth->url('1.1/search/tweets'), array(
'q' => '%23'.$tagzname,
'since_id' => $num,
'lang' => 'en',
'count' => '2'));
$response = $tmhOAuth->response['response'];
var_dump(json_decode($response, true));
echo "<br><br><br><br>";
$json_output = json_decode($response, true);
foreach($json_output as $tweets) {
// $tmsgid = $tweets['statuses']['metadata']['id_str'];
$tmsgid = $tweets['statuses']['id_str'];
// $tmsgid = $tweets['metadata']['id_str'];
// $tmsgid = $tweets['id_str'];
echo 'Msg ID:' . $tmsgid . '<br>';
我无法获得Msg ID输出。我错过了什么?
JSON数据如下所示:
array(2) {
["statuses"]=>
array(2) {
[0]=>
array(23) {
["metadata"]=>
array(2) {
["result_type"]=>
string(6) "recent"
["iso_language_code"]=>
string(2) "en"
}
["created_at"]=>
string(30) "Thu Jun 13 07:19:30 +0000 2013"
["id"]=>
float(3.4507795373608E+17)
["id_str"]=>
string(18) "345077953736081409"
...
答案 0 :(得分:2)
状态内部是一个包含两个条目的数组。所以你必须定义你想要展示的那个。
foreach($json_output as $tweets) {
$tmsgid = $tweets['statuses'][0]['id_str'];
}
编辑: 第一个错了!
foreach($json_output['statuses'] as $tweets) {
$tmsgid = $tweets['id_str'];
}
这应该是循环您的状态的正确方法。我不知道你的根数组中的第二个元素是什么。