使用API​​ 1.1通过PHP检索特定的直接消息信息

时间:2014-02-11 19:19:34

标签: php twitter

我希望你能提供帮助,因为我觉得我在这里错过了一个技巧,无法找到我出错的地方。我希望通过PHP从Twitter DM中检索一些特定的信息。我已经写了一些代码来完成我所追求的内容,但是在运行脚本时,只有消息(推文),ID和发送的日期正在通过。其余的如用户名等......仍然是空白。可以在此处找到当前输出:http://anonytine.hol.es/TDM94.php

非常感谢任何帮助:

  <?php
echo "<h2>Simple Twitter API Test</h2>";

ini_set('display_errors', 1);
require_once('TwitterAPIExchange.php'); 


$settings = array(
'oauth_access_token' => "XXXX",
'oauth_access_token_secret' => "XXXX",
'consumer_key' => "XXXX",
'consumer_secret' => "XXXX"
);
$url = 'https://api.twitter.com/1.1/direct_messages.json';
$getfield = '?since_id=240136858829479935&count=20';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
$string = json_decode($twitter->setGetfield($getfield)
         ->buildOauth($url, $requestMethod)
         ->performRequest(),$assoc = TRUE);

echo "<h3>Direct Messages</h3>";          
foreach($string as $items)
  {
    echo "Time and Date of Tweet: ".$items['created_at']."<br />";
    echo "Message ID: ".$items['id']."<br />";
    echo "Tweet: ".$items['text']."<br />";
    echo "Tweeted by: ". $items['user']['name']."<br />";
    echo "Screen name: ". $items['user']['screen_name']."<br />";
    echo "Location: ". $items['user']['geo_enabled']."<br />";
    echo "Friends: ". $items['user']['friends_count']."<br />";
    echo "Listed: ". $items['user']['listed_count']."<br /><hr />";
  }
{

?>

1 个答案:

答案 0 :(得分:1)

根据此处的文档https://dev.twitter.com/docs/api/1.1/post/direct_messages/new,您应该

调用以下终点

https://api.twitter.com/1.1/direct_messages/new.json

元素名称与您使用的名称不同。

对于

$items['user']['name']

$items['sender']['name']

等等

在新的api电话https://api.twitter.com/1.1/direct_messages.json

在执行循环之前检查返回的数组返回数据的方式。