开始使用Twitter \ OAuth2 \ Python

时间:2011-06-19 01:24:36

标签: python twitter oauth

我正在尝试使用python连接到twitter,我发现它真的很令人沮丧。
我读到的所有内容都表明我需要消费者密钥,消费者秘密,访问密钥和访问密钥 - 例如:Using python OAUTH2 to access OAUTH protected resources

我可以从我设置的小测试应用程序的twitter设置页面获取消费者密钥和消费者密钥,但其他两个呢?经过一段谷歌搜索后,似乎每个人都认为这是显而易见的,你从这里得到这些信息是不值得的,所以我可能会有一个非常愚蠢的时刻,但是有人可以把它拼出像我这样的白痴吗?

修改
可以在Twitter上打开您的应用设置,然后点击"My Access Token"链接。 我想在寻找访问令牌时,如果你点击标题为“我的访问令牌”的链接可能会有所帮助。我喜欢把我的愚蠢归咎于葡萄酒,但我真的不知道......

2 个答案:

答案 0 :(得分:101)

几乎所有关于博客的oauth示例似乎都是oauth授权阶段的例子,没有一个关注如何在你拥有这些请求后实际发出请求,因为一旦你理解了它的工作原理这一部分是非常明显的。不幸的是,获得初步了解非常困难。

如果您只是尝试从脚本或应用程序中自行访问您的Twitter帐户,您可以从设置页面底部的dev.twitter.com获取访问令牌(在python oauth库中称为密钥)和秘密对于您的应用,标题为您的访问令牌

import oauth2 as oauth
import json

CONSUMER_KEY = "your app's consumer key"
CONSUMER_SECRET = "your app's consumer secret"
ACCESS_KEY = "your access token"
ACCESS_SECRET = "your access token secret"

consumer = oauth.Consumer(key=CONSUMER_KEY, secret=CONSUMER_SECRET)
access_token = oauth.Token(key=ACCESS_KEY, secret=ACCESS_SECRET)
client = oauth.Client(consumer, access_token)

timeline_endpoint = "https://api.twitter.com/1.1/statuses/home_timeline.json"
response, data = client.request(timeline_endpoint)

tweets = json.loads(data)
for tweet in tweets:
    print tweet['text']

此示例使用的是python lib python-oauth2,这是一个名为OAuth的文件库,而不是OAuth2库。

如果您想让其他人授权他们的帐户使用您的应用,那么您需要实施重定向舞蹈,您可以向Twitter询问请求令牌/机密对,然后将用户重定向到Twitter授权页面这个请求令牌,他们登录并授权令牌并被重定向回您的应用程序,然后您交换请求令牌以获取访问令牌和秘密对,您可以存储和使用它来发出上述请求。

http://github.com/simplegeo/python-oauth2自述文件中的Twitter三脚OAuth示例似乎涵盖了需要做的事情

答案 1 :(得分:-3)

我个人使用tweepy,它为Twitter的API提供了一个不错的python包装器