程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了从 Twitter API 2.0 获取 user.fields 的问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决从 Twitter API 2.0 获取 user.fields 的问题?

开发过程中遇到从 Twitter API 2.0 获取 user.fields 的问题的问题如何解决?下面主要结合日常开发的经验,给出你关于从 Twitter API 2.0 获取 user.fields 的问题的解决方法建议,希望对你解决从 Twitter API 2.0 获取 user.fields 的问题有所启发或帮助;

我想从 Twitter API 2.0 端点加载推文并尝试获取标准字段(作者、文本等)和一些扩展字段,尤其是。用户字段。 端点和参数的定义工作没有错误。 在生成的 Json 中,我只找到了标准字段,但没有找到所需的 user.fIElds(用户名、指标)。

示例代码片段:

from datetiR_851_11845@e import datetiR_851_11845@e,timedelta
import requests
import Json
import pandas as pd

# read bearer token for authentication
with open('bearer_token.txt') as fp:
    BEARER_TOKEN = fp.read()

query_String = '("TSLA") (lang:en)'
    
# setup the API request
endpoint = 'https://API.twitter.com/2/tweets/search/recent'
headers = {'authorization': f'Bearer {BEARER_TOKEN}'}
params = {
    'query': query_String,'max_results': '100','tweet.fIElds': 'created_at,lang,text,author_ID,public_metrics',# that doesn't work
    'user.fIElds': 'name,username,public_metrics'
    #'expansions': 'attachments.media_keys'
}

response = requests.get(endpoint,params=params,headers=headers)  # send the request

print(Json.dumps(response.Json(),indent=3,sort_keys=TruE))

生成的 Json 显示了这一点(我缺少用户字段:名称、用户名、public_metrics):

    {
   "data": [
      {
         "author_ID": "33286321","created_at": "2021-03-13T16:25:02.000Z","ID": "1370772902769999874","lang": "en","public_metrics": {
            "like_count": 0,"quote_count": 0,"reply_count": 0,"retweet_count": 0
         },"text": "Try our Option Swing Trading service built for indivIDuals who want to Trade around their full-time careers. Take a free 10-day Trail No Credit Card  $AAPL $TSLA $FB $MSFT"
      },{
         "author_ID": "1142453041364385794","created_at": "2021-03-13T16:24:41.000Z","ID": "1370772813469130756","retweet_count": 28
         },"text": "RT @Stalingrad_Poor: With bitcoin Trading at $60k,TSLA has Now made more money on its bitcoin investment and selling regulatory credits th\u2026"
      },{
         "author_ID": "1349496824650989568","created_at": "2021-03-13T16:24:35.000Z","ID": "1370772791411245056","retweet_count": 3
         },"text": "RT @VolaarRIDe: $OZSC By teaming up with the Gemm Network,we can Now provIDe our customers with additional services such as Project Financ\u2026"
      },

问题: 我该怎么做才能在回复中获取这些信息?

解决方法

根据documentation,要使用user.fields参数,您必须在author_id参数中包含expansions

,

这里是根据@Patriot 的回答调整的代码。

from datetiR_851_11845@e import datetiR_851_11845@e,timedelta
import requests
import json
import pandas as pd

# read bearer token for authentication
with open('bearer_token.txt') as fp:
    BEARER_TOKEN = fp.read()

query_String = '("TSLA") (lang:en)'
    
# setup the API request
endpoint = 'https://api.twitter.com/2/tweets/search/recent'
headers = {'authorization': f'Bearer {BEARER_TOKEN}'}
params = {
    'query': query_String,'max_results': '100','expansions': 'author_id','tweet.fields': 'created_at,lang,text,author_id,public_metrics','user.fields': 'name,username,public_metrics'
}

response = requests.get(endpoint,params=params,headers=headers)  # send the request

print(json.dumps(response.json(),indent=3,sort_keys=TruE))

大佬总结

以上是大佬教程为你收集整理的从 Twitter API 2.0 获取 user.fields 的问题全部内容,希望文章能够帮你解决从 Twitter API 2.0 获取 user.fields 的问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。