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



我希望你能帮忙,因为我认为我在这里错过了一个技巧,找不到我出错的地方。我希望通过PHP从Twitter私信中检索一些特定信息。我已经编写了一些代码来拉取我想要的内容,但在运行脚本时,只有消息(推文)、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 />";
  }
{
?>
根据

这里的文档 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

在执行循环之前,请检查返回的数组如何返回数据。

最新更新