使用 Twitter API v2 方法时,Tweepy 不返回 url 媒体字段

2024-03-02

我请求 Twitter API v2 获取推文的详细信息并使用身份验证所需的客户端对象。

import tweepy, config
client = tweepy.Client(bearer_token=config.BEARER_TOKEN, consumer_key=config.API_KEY, consumer_secret=config.API_SECRET, access_token=config.ACCESS_TOKEN,access_token_secret=config.ACCESS_TOKEN_SECRET,wait_on_rate_limit=False)
x = client.get_tweet(id =1490880839844233218,tweet_fields="lang", expansions = ["author_id","attachments.media_keys"], media_fields = ["type","url","media_key"] )
print(x)

但我没有得到 url 媒体字段。

Response(data=<Tweet id=1490880839844233218 text=Android 12's February security patches are ready to rollout! https://mobile.twitter.com/EvolutionXROM/status/1490880839844233218>, includes={'media': [<Media media_key=3_1490880836576550914 type=photo>], 'users': [<User id=1106906709786656768 name=Evolution X username=EvolutionXROM>]}, errors=[], meta={})

但如果我用curl请求同样的事情:

curl --request GET 'https://api.twitter.com/2/tweets/1490880839844233218?&tweet.fields=lang&expansions=author_id,attachments.media_keys&media.fields=media_key,type,url' --header 'Authorization: Bearer $TOKEN'

我得到这个回应。

{"data":{"lang":"en","author_id":"1106906709786656768","text":"Android 12's February security patches are ready to rollout! https://mobile.twitter.com/EvolutionXROM/status/1490880839844233218","attachments":{"media_keys":["3_1490880836576550914"]},"id":"1490880839844233218"},"includes":{"media":[{"media_key":"3_1490880836576550914","type":"photo","url":"https://pbs.twimg.com/media/FLCsOMqVIAI_Emf.jpg"}],"users":[{"id":"1106906709786656768","name":"Evolution X","username":"EvolutionXROM"}]}}

正如您在此处所看到的,如果我使用curl 请求,媒体 URL 将显示为媒体字段。

尽管我找到了使用 Twitter API v1 的解决方法get_status方法,我想使用最新的 API v2 来让它工作。

使用 Twitter API v1 :

import tweepy, config
auth = tweepy.OAuth2BearerHandler(bearer_token = config.BEARER_TOKEN)

api = tweepy.API(auth=auth)
status = api.get_status(tweet_id,tweet_mode='extended')
print(status)

回复 :

Status(_api=<tweepy.api.API object at 0x71bd8b3580>, _json={'created_at': 'Tue Feb 08 02:51:06 +0000 2022', 'id': 1490880839844233218, 'id_str': '1490880839844233218', 'full_text': "Android 12's February security patches are ready to rollout! https://mobile.twitter.com/EvolutionXROM/status/1490880839844233218", 'truncated': False, 'display_text_range': [0, 60], 'entities': {'hashtags': [], 'symbols': [], 'user_mentions': [], 'urls': [], 'media': [{'id': 1490880836576550914, 'id_str': '1490880836576550914', 'indices': [61, 84], 'media_url': 'http://pbs.twimg.com/media/FLCsOMqVIAI_Emf.jpg', 'media_url_https': 'https://pbs.twimg.com/media/FLCsOMqVIAI_Emf.jpg',......

我不会在这里发布完整的回复,因为它太大了。


如果您只是打印对象并查看该输出,则 API v2 模型/对象的字符串表示形式仅包含保证存在的默认属性。

对象本身仍然包含相关数据,您可以作为属性或通过键访问这些数据,就像字典一样。

https://tweepy.readthedocs.io/en/v4.6.0/faq.html#why-am-i-not-getting-expansions-or-fields-data-with-api-v2-using-client https://tweepy.readthedocs.io/en/v4.6.0/faq.html#why-am-i-not-getting-expansions-or-fields-data-with-api-v2-using-client

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Twitter API v2 方法时,Tweepy 不返回 url 媒体字段 的相关文章

随机推荐

  • 将 Gson 与接口类型结合使用

    我正在编写一些服务器代码 其中客户端以 JSON 形式发送请求 我的问题是 有许多可能的请求 所有请求在小的实现细节上都有所不同 因此我想到使用 Request 接口 定义为 public interface Request Respons
  • 变量 r 可能尚未初始化

    有一个非常简单的程序 public class A public static void main String p final Runnable r new Runnable public void run System out prin
  • 调用 Go 函数,该函数接受接口 A 的切片和结构 B 的切片(B 实现 A)

    我有以下类型 type Statement interface Say string type Quote struct quote string func p Quote Say string return p quote func Re
  • 如何实现 twitter bootstrap 手风琴?

    我正在尝试实现 Twitter Bootstrap Collapse 插件 http twitter github io bootstrap 2 3 2 javascript html collapse http twitter githu
  • 悬停时覆盖图像

    我不确定尝试在悬停时在图像上显示透明叠加层时做错了什么 最初 我尝试了一种 javascript 方法 但这不起作用 所以我想我会尝试一种更轻量级的 css 方法 有谁明白为什么这不起作用 section2 box display inli
  • 如何制作 Linux GUI?

    我的主要经验是 C C 所以我更愿意继续使用它们 我不想使用 QT GTK 或 wxWidgets 或任何工具包 我想学习本机编程 但这违背了目的 考虑到这一点 我也想避免使用 Java 我了解 gnome xfce 和 KDE 等都是 L
  • 将侦听器变成 Java 中的未来

    我正在尝试将侦听器变成 Future 以进行异步连接 我还不习惯使用java futures 我对javascript Promise有一些经验 但我不知道如何用java编写它 我已经看到Java 8中的 CompletableFuture
  • 与队列相比,Tensorflow 数据集极其慢

    使用 Dataset API 执行相同的任务似乎比使用队列慢 10 100 倍 这就是我正在尝试对数据集执行的操作 dataset tf data TFRecordDataset filenames repeat dataset datas
  • JTable ..所选行的颜色

    我有一个 Java 中的 JTable 它有一个自定义 dataMODEl 和自定义渲染器 现在 当我选择某个单元格时 它周围有一个深蓝色边框 我希望所选行全部以某种颜色突出显示 怎么做 您必须使用自定义表格单元格渲染器 在这里查看教程 h
  • 即使设备有连接,获取连接也会返回 false

    我有一个应用程序 它有一个警报监听器 可以返回位置并将其发送到服务器 但首先它会检查互联网连接 这是检查连接的方法 public boolean hasInternetConnection ConnectivityManager conne
  • 同步获取Firebase用户令牌

    我正在尝试获取 Firebase 令牌来验证我对 Rest API 的调用 我可以使用以下代码异步生成令牌 FirebaseUser mUser App getFirebaseAuth getCurrentUser if mUser nul
  • Rails 3.1 active_scaffold 'jQuery("form.as_form").live' 不是一个函数

    轨道 3 1 10 Active scaffold 3 2 17 我收到 js 错误消息 Event thread DOMContentLoaded Uncaught exception TypeError jQuery form as f
  • 如何在android中按日期范围或月份获取日历事件

    我正在使用下面的代码在我的应用程序中获取和加载日历事件 它工作得很好 但现在我想获取指定日期范围的事件 我怎么才能得到它 Cursor cursor getContentResolver query Uri parse content co
  • c_cpp_properties.json 中的 includePath 在 C 的 VSCode 中不起作用

    我正在 Ubuntu 18 04 上使用 C C 扩展的 VSCode 进行工作 我试图包含 gmodule h 并且它引发了错误gmodule h No such file or directory主文件第 2 行第 10 个字符 因此
  • 将值的总和放在圆环图的中心?

    我正在绘制这个饼图 使用此代码 dxPieChart dataSource dsAlarmsBySeverity size width 275 height 150 palette FFFF00 FF9900 CC3300 33CC33 0
  • 在android中突出显示谷歌地图上的街道

    是否有可能在android突出显示某条街道google map当用户点击 街道 目前我正在研究一个app这将识别有停车场的街道 插槽可用 这个小提琴可以帮助 init map var myOptions mapTypeId google m
  • 如何查找在某个时候分配给您的问题?

    我们在项目中广泛使用 Jira 但我经常很难发现问题 我知道 我之前一直在解决这些问题 通常 如果报告了某些案例 这对我过去一直在做的事情来说似乎很熟悉 但我不记得具体是什么以及何时 通常 报告一个问题 然后我们的 scrum master
  • Jquery - 悬停时将图像高度和宽度扩展 20%

    晚上好 动态访问图像高度和宽度的最佳方法是什么 我想在图像宽度和高度上添加 20 并在周围的 div 悬停时设置动画 我想我需要使用 this 但不确定如何访问图像 非常感谢任何帮助 干杯保罗 你可以做这样的事情 使用 height htt
  • 防止导航栏右侧文本在导航栏中换行?

    In 这个 Bootply 示例 http www bootply com 133310 我该如何防止navbar right文本在移动视图中换行 我希望所有文本都保留在一行上 随着页面宽度的缩小而逐渐靠近 即 桌面视图中所见内容的压缩版本
  • 使用 Twitter API v2 方法时,Tweepy 不返回 url 媒体字段

    我请求 Twitter API v2 获取推文的详细信息并使用身份验证所需的客户端对象 import tweepy config client tweepy Client bearer token config BEARER TOKEN c