php - 如何从 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'] . " " . "|" . " " . "@" . $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 />";
并且已经到了在这里伸出援手的地步。希望我不必将其重新格式化为对象,但看起来我可以。
解决方案
根据@MagnusEriksson 的评论,我的问题是由我使用的语法不正确引起的。
$item['entities']['media'][0]['media_url']
允许我定位我正在寻找的索引,我现在可以显示推文的图像 :) 谢谢 Magnus!
推荐阅读
- matlab - 如何使用旋转角度和轴来旋转 3D 平面?
- unity3d - 音量变化滞后
- bluetooth - bluetoothctl utilty 中的 [prompts] 是什么意思
- computer-vision - Image.open(os.path.join(origin_path,name)).convert('P') 有什么问题吗?
- angular - 在角度 7 中使用更改检测时如何以某种方式通知用户?
- c# - 关于初始化数据库的错误 - 实体框架 6
- c# - 无法在 Visual Studio 2019 中使用连接的服务
- amazon-web-services - 如何使用 Aws Cognito 和 Aws Amplify 对用户进行身份验证
- azure-devops - Azure DevOps:组规则
- python-3.x - 如何将二分图转换为无二分图