Twitter高级权限未获授权

时间:2019-03-26 03:33:05

标签: 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]];

我的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开发人员帐户中做错了任何想法?

1 个答案:

答案 0 :(得分:0)

您需要转到https://developer.twitter.com/en/account/environments

https://developer.twitter.com/en/account/environments

您应该可以在其中看到各种开发环境。如果尚未创建,则可以创建一个。

然后,开发环境标签将成为您在端点中用来替换的东西。

在我的示例中,它将是: https://api.twitter.com/1.1/tweets/search/fullarchive/development.json

如果仍然不起作用,则可能需要在YAML文件中包含bearer token