【发布时间】:2019-08-16 09:12:10
【问题描述】:
我尝试运行下面的代码并收到一条错误消息: 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]];
我的 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
唯一需要注意的是,我使用的是免费/沙盒服务。
如果我在代码、YAML 和/或我的 Twitter 开发者帐户中做错了什么,有什么想法吗?
【问题讨论】:
-
我正在使用免费/沙盒服务那你为什么要访问高级网址?
-
好消息@JohnGordon。我没有意识到这一点。我尝试将其更改为我发现的几个不同的 URL,并且到目前为止结果相同。不过,我确实认为您可能已经找到了问题的根源。
-
Sandbox 提供对高级 API 的访问,但容量较低且没有一些额外的功能,例如计数。这应该可以工作,假设您在开发人员仪表板中配置了一个名为“dev”的开发人员环境。
-
@AndyPiper - 我有一个开发人员仪表板,但我不知道它的名称?这将与应用程序名称相同吗?我之前的经验是使用 Tweepy,它非常简单:/
标签: python twitter twitter-oauth