use*_*577 5 python twitter twitter-oauth
我尝试运行下面的代码并收到一条错误消息:HTTP 错误代码:403:禁止:身份验证成功但帐户无权访问此资源。
from searchtweets import ResultStream, gen_rule_payload, load_credentials, collect_results
import requests
premium_search_args = load_credentials("/home/dirname/twitter_keys.yaml",
yaml_key="search_tweets_premium",
env_overwrite=False)
rule = gen_rule_payload("basketball", results_per_call=100) # testing with a sandbox account
print(rule)
from searchtweets import collect_results
tweets = collect_results(rule,
max_results=100,
result_stream_args=premium_search_args)
# print(tweets.all_text)
[print(tweet.all_text, end='\n\n') for tweet in tweets[0:10]];
Run Code Online (Sandbox Code Playgroud)
我的 YAML 文件如下所示:
search_tweets_premium:
account_type: premium
endpoint: https://api.twitter.com/1.1/tweets/search/fullarchive/dev.json
consumer_key: AAAAAAAAAAAAAAAAAAAAA
consumer_secret: BBBBBBBBBBBBBBBBBBBBBBBBBBB
Run Code Online (Sandbox Code Playgroud)
唯一需要注意的是,我正在使用免费/沙盒服务。
如果我在代码、YAML 和/或我的 Twitter 开发人员帐户中做错了什么,有什么想法吗?
小智 8
您需要访问https://developer.twitter.com/en/account/environments
在那里您应该能够看到您拥有的各种开发环境。如果它们尚未创建,您可以创建一个。
然后,开发环境标签将是您用来在端点中替换的东西。
在我的示例中,它将是:https : //api.twitter.com/1.1/tweets/search/fullarchive/development.json
如果这仍然不起作用,您可能需要在 YAML 文件中包含不记名令牌。