twitter api v2扩展字段选项返回的数据少于端点


user_data = 'user.fields=description,location,name,public_metrics,username,verified'
expand = 'expansions=author_id'
tag = 'new zealand -is:retweet'
url = "https://api.twitter.com/2/tweets/search/recent?query={}&{}&{}".format(tag, expand, user_data)

所以这就是我组织请求的方式,比方说,我想从这个端点获得的最大数据数量是20,我可以使用扩展字段来获得关于推特作者的额外数据,问题是扩展字段的有效载荷与端点返回的默认数据不匹配。例如,如果端点返回20个tweets,扩展字段也会返回20个字段,但在我的情况下,有时我只得到1个,请提供帮助。。。

API响应样本

data part
{'data': [{'id': '1341144983215239170',
'lang': 'en',
'created_at': '2020-12-21T22:14:15.000Z',
'text': "@chrissy99912291 Is it because he's neo? When DJ cuppy said she needs iPhone 12 no one dragged her, why y'all pressed? What kind of mentality is this?",
'author_id': '1268532525321932803',
'public_metrics': {'retweet_count': 0,
'reply_count': 0,
'like_count': 0,
'quote_count': 0}},

包括[用户]部分

{'username': 'AOmozoya',
'description': "I'm gifted",
'id': '1102564893071429633',
'verified': False,
'location': 'xx, xx,
'public_metrics': {'followers_count': 64,
'following_count': 383,
'tweet_count': 608,
'listed_count': 0},
'name': 'Special_miracle'},

当我尝试像这样检查两个响应的长度时,两个响应对于这个特定响应的长度应该相等。data是json响应的名称。

len(data['data'])
>>100

whiles

len(data['includes']['user'])
>>32

用户数据应该与每条推文相对应。

这是因为它与tweet的数量不对应。

如果假设用户在某些推文中是常见的,则用户仅出现一次。

如果没有返回用户的更多详细信息,很难弄清这个问题的真相。

但是,我建议使用osometweet包。然而,它目前正在开发中,搜索分支有一种搜索方法,您可以将查询传递给您感兴趣的扩展参数

看看维基,里面有很多说明。

  • 身份验证
  • 搜索方法
  • 管理字段和扩展

最新更新