使用Python从Twitter获取用户名的用户ID

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

无法正常工作,调试信息也不是很有用,我在网上没有找到更多的资源。


你得到了哪些调试信息?请更新并附上你的错误消息。 - Peter Sobot
usr = twitter_api.GetUser(SCREEN_NAME) TypeError: call()只接受一个参数,但是给出了两个。 - Deepak B
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接