4

我正在尝试使用 python 获取 twitter 用户的用户 ID

import twitter
twitter_api = twitter.Twitter(domain='api.twitter.com', api_version='1',auth = twitter.oauth.OAuth(ACCESS_KEY, ACCESS_SECRET,
CONSUMER_KEY, CONSUMER_SECRET))
usr = twitter_api.api.GetUser(SCREEN_NAME)
print usr.name

不行,调试信息也没有多大帮助,网上也没找到更多的资源。

4

1 回答 1

4

您已实例化的twitter_api对象将对其执行的所有函数调用隐式转换为 API URL 的路径,并将所有关键字参数转换为 API 参数。例如:

twitter_api.statuses.user_timeline()
# ^- this converts to "api.twitter.com/1/statuses/user_timeline.json"

twitter_api.statuses.user_timeline(user_id="a")
# ^- this converts to "api.twitter.com/1/statuses/user_timeline.json?user_id=a"

twitter_api.statuses.user_timeline(foo)
# ^- this breaks - "foo" is not a key/value pair, and cannot be sent

因此,您尝试调用 URL 1/api/GetUser.json- 并且还向它传递了一个参数,它不知道如何处理。试试这个:

import twitter
t = twitter.Twitter(auth=twitter.OAuth(ACCESS_KEY, ACCESS_SECRET, CONSUMER_KEY, CONSUMER_SECRET))
t.users.lookup(screen_name=SCREEN_NAME)
# returns the user object
于 2012-10-08T03:37:34.873 回答