首页 > 解决方案 > 如何从 Twitter API 数据中检索图像

问题描述

我正在设置一个页面,该页面将根据所选主题拉推文 - 目前这是硬编码的,似乎工作正常。问题是,在我处理 JSON 数据(现在转换为数组)时,我正在努力定位数组中检索图像所需的“media_url”键。

由于没有重写我的代码或重新格式化它,我尝试了多种方法来定位帖子的 media_url 键,但无济于事。在其他答案中,我看到人们通过将数据用作对象而取得成功,但我不确定如何去做。

通过遵循https://iag.me/socialmedia/build-your-first-twitter-app-using-php-in-8-easy-steps/上的教程,我已经做到了这一点 - 我会注意到人们已询问有关检索此页面上的图像但尚未得到答复,伤心。

require_once('TwitterAPIExchange.php');
/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
'oauth_access_token' => "xxx",
'oauth_access_token_secret' => "xxx",
'consumer_key' => "xxx",
'consumer_secret' => "xxx"
);
$url = "https://api.twitter.com/1.1/search/tweets.json";
$getfield = '?q=%23life&count=20&tweet_mode=extended&include_entities=true';
$requestMethod = 'GET';

$twitter = new TwitterAPIExchange($settings);

$string = json_decode($twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest(),$assoc = TRUE);
if(array_key_exists("errors", $string)) {echo "<h3>Sorry, there was a problem.</h3><p>Twitter returned the following error message:</p><p><em>".$string[errors][0]["message"]."</em></p>";exit();}
    foreach($string as $items)
    {
        if (is_array($items)){


            foreach($items as $item)
            {
                if ($item['user'] != null) {
                    echo $item['user']['name'] . "&nbsp" . "|" . "&nbsp" . "@" . $item['user']['screen_name']."<br />";
                    echo $item['full_text'] . "<br />";
                    echo $item['created_at']."<br />";
                    echo $item['entities']>['media'][0]['media_url'] . "<br />";
                    echo '<hr>';
                    var_dump($item);
                } 
                else {
                    return;
                }
            }

        }
    }



?>

我在尝试重新格式化线路时遇到了许多错误,echo $item['entities']>['media'][0]['media_url'] . "<br />";并且已经到了在这里伸出援手的地步。希望我不必将其重新格式化为对象,但看起来我可以。

标签: phparraysjsontwitter

解决方案


根据@MagnusEriksson 的评论,我的问题是由我使用的语法不正确引起的。

$item['entities']['media'][0]['media_url']允许我定位我正在寻找的索引,我现在可以显示推文的图像 :) 谢谢 Magnus!


推荐阅读