首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Twitter API从tweet获取图像url

如何使用Twitter API从tweet获取图像url
EN

Stack Overflow用户
提问于 2014-04-06 06:31:35
回答 4查看 38.9K关注 0票数 23

我使用以下代码:

require_once ("twitteroauth.php");

define('CONSUMER_KEY', 'XXX');
define('CONSUMER_SECRET', 'XXX');
define('ACCESS_TOKEN', 'XXX');
define('ACCESS_TOKEN_SECRET', 'XXX');

$toa = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);

$query = array(
  "q" => "#Misiones",
  "result_type" => "recent",
  "include_entities" => "true"
);

results = $toa->get('search/tweets', $query);

foreach ($results->statuses as $result) {

  $user = $result->user->screen_name;
  $text = $result->text;

来获取带有#Misiones(我居住的地方的名字)标签的推文。运行良好,但我正在尝试获得图像的网址(如果推文有一些)。

我尝试了$result->media和$result->media->media_url和其他未成功的传信。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-06 08:21:02

推特[https://developer.twitter.com/en/docs/twitter-api/v1/data-dictionary/object-model/entities#media就是你想要访问这些图片的东西。实体提供来自推文的结构化数据,包括扩展的URL和媒体URL。它们位于entities来自Twitter REST和Streaming API的所有Tweet对象中的属性。

因此,为了回答您的问题,如果一条推文包含一张图片,其URL将位于以下位置:

$media_url = $result->entities->media[0]->media_url;

下面是一个PHP代码片段,您可以将其添加到现有的foreach循环中,处理Tweet是否包含媒体URL会更复杂一些:

if (isset($result->entities->media)) {
    foreach ($result->entities->media as $media) {
        $media_url = $media->media_url; // Or $media->media_url_https for the SSL version.
    }
}
票数 43
EN

Stack Overflow用户

发布于 2018-11-14 18:01:10

为了获得媒体_返回twitter搜索通道的urltweet_mode=extended..。跨多个端点工作(例如,/statuses/show,/statuses/user_时间线..)

示例:

https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=aneon&tweet_mode=extended

更多信息请点击此处:https://developer.twitter.com/en/docs/tweets/tweet-updates.html

票数 18
EN

Stack Overflow用户

发布于 2021-02-27 19:46:56

要使用新的v2 api获取Tweet的图像url,您必须附加

expansions=attachments.media_keys&media.fields=url

在你的网址。例如,要打开一个返回带有图片的tweet(如果有的话)的流,请创建一个get请求,如下所示

https://api.twitter.com/2/tweets/search/stream?tweet.fields=created_at&expansions=attachments.media_keys&media.fields=url

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22887703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档