tweepy.error.TweepError: Twitter error response: status code = 401

tweepy.error.TweepError: Twitter error response: status code = 401

我正在使用 python 3.4.3,我遵循了 link 上的所有说明: http://www.lyonwj.com/2015/05/28/content-recommendation-from-links-shared-on-twitter/ 当我尝试 运行 来自 link

的代码时出现错误
import tweepy

consumer_key = 'xxx'
consumer_secret = 'xxx'
access_token = 'xxx'
access_token_secret = 'xxx'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth, wait_on_rate_limit = True, wait_on_rate_limit_notify =         True)
ids = api.friends_ids()
urls = []

for friend in ids:
statuses = api.user_timeline(id=friend, count=200)
for status in statuses:
    if status.entities and status.entities['urls']:
        for url in status.entities['urls']:
            urls.append((url['expanded_url'], status.author.screen_name))
with open('urls.csv', 'w') as f:
for url in urls:
    f.write(url[0] + ',' + url[1] + '\n')
f.close()

错误

Traceback (most recent call last):
  File "C:/Python34/file11.py", line 11, in <module>
    ids = api.friends_ids()
  File "C:\Python34\Lib\site-packages\tweepy\binder.py", line 239, in _call
    return method.execute()
  File "C:\Python34\Lib\site-packages\tweepy\binder.py", line 223, in execute
    raise TweepError(error_msg, resp)
tweepy.error.TweepError: Twitter error response: status code = 401

401 是 Unauthorized 状态码。这意味着您的凭据(在本例中为您的 consumer/access 令牌)无效。按照说明 here.

再次尝试正确重新创建凭据

编辑:如果您运行完全您发布的代码,请注意您必须将所有密钥替换为您使用上述生成的密钥link.

编辑:

正如 LetsPlayYahtzee 在下面的评论中所指出的,这也可能意味着您无权访问您请求的数据。

例如,当您尝试从私人用户那里检索推文时,可能会发生这种情况。

当您将 keys/tokens 复制并粘贴到 python 控制台时,以某种方式在按键的开头和结尾插入了一个微妙的字符。两天后我解除了这种情况,我重新创建了所有密钥和令牌并将它们再次粘贴到 python 控制台。