2017-08-26 63 views
1

我正在尝试使用python-twitter。我正在关注this tutorialPython Twitter API TwitterError:user_id必须是int类型

这里是我的代码:

tweet = cache.get('tweet') 

if not tweet: 
    tweet = twitter.Api().GetUserTimeline(settings.TWITTER_USER)[0] 
    tweet.date = datetime.strptime(tweet.created_at, "%a %b %d %H:%M:%S +0000 %Y") 
    cache.set('tweet', tweet, settings.TWITTER_TIMEOUT) 

但我发现了一个错误:

Twitter.error.TwitterError: {'message': '"user_id" must be type int'} 

我在教程设置的变量,如:

TWITTER_USER = 'CaseyNeistat' 
TWITTER_TIMEOUT = 3600 

是有什么我做错了?

+1

显然它想要的用户ID(一个整数),而不是名称(一个字符串)。根据[自述文件](https://github.com/bear/python-twitter/blob/master/README.rst),如果您想传递名称,请使用'screen_name'关键字参数。 – jonrsharpe

+0

@jonrsharpe但在我分享的作者链接TWITTER_USER – silentprogrammer

+0

传递的字符串也许他们的文章是错误的。也许API改变了,你使用的是不同的版本。错误消息和当前文档非常清晰。 – jonrsharpe

回答

0

该文章创建于9年前。所以自那时起API可能会改变很多次。

下面是函数的签名从python-twitter documentation

GetUserTimeline(user_id=None, screen_name=None, since_id=None, max_id=None, count=None, include_rts=True, trim_user=False, exclude_replies=False)

所以,你想要做GetUserTimeline(screen_name=settings.TWITTER_USER)

否则你的字符串会去user_id

相关问题