如何通过Twitter API V2同时获取自身推文organic_metrics与referenced_tweets?
解决Twitter API v2中同时获取自身推文organic_metrics和引用推文的授权问题
你可以通过拆分字段指定参数来实现需求:利用Twitter API v2的includes.tweet.fields参数,单独控制通过expansions返回的引用推文的字段,和主推文的tweet.fields划清界限。
具体做法
- 主推文的字段:用
tweet.fields指定需要的organic_metrics(以及其他你需要的主推文字段) - 引用推文的字段:用
includes.tweet.fields指定你需要的引用推文字段(不要包含organic_metrics)
示例请求参数:
GET /2/users/{your_user_id}/tweets? tweet.fields=organic_metrics,created_at,public_metrics expansions=referenced_tweets.id,referenced_tweets.id.author_id includes.tweet.fields=created_at,public_metrics,author_id
原理说明
默认情况下,tweet.fields的设置会被应用到所有返回的推文对象——包括主数据(data数组)里的自身推文,以及includes里的引用推文。这就是你添加expansions后触发授权错误的原因:API尝试给引用推文也获取organic_metrics,但你没有对应权限。
而includes.tweet.fields参数专门用来定义通过扩展获取到的引用推文的返回字段,和主推文的tweet.fields完全独立。这样设置后,API只会给你的主推文请求organic_metrics,引用推文仅返回你指定的无权限限制的字段,不会触发授权错误,你就能在同一个响应里拿到需要的所有数据。
内容的提问来源于stack exchange,提问作者reymon359
相关产品推荐
相关产品推荐

