Twitter\OAuth2\Python 入门
Posted
技术标签:
【中文标题】Twitter\\OAuth2\\Python 入门【英文标题】:Getting started with Twitter\OAuth2\PythonTwitter\OAuth2\Python 入门 【发布时间】:2011-09-18 00:04:56 【问题描述】:我正在尝试使用 python 连接到 twitter,但我发现它真的很令人沮丧。 我阅读的所有内容都表明我需要一个使用者密钥、一个使用者秘密、一个访问密钥和一个访问秘密 - 例如:Using python OAUTH2 to access OAUTH protected resources
我可以从我创建的小测试应用程序的 twitter 设置页面获取消费者密钥和消费者秘密,但其他两个呢?经过一番谷歌搜索,似乎每个人都认为你从哪里得到这些信息很明显,不值得把它放出来,所以我可能有一个非常愚蠢的时刻,但有人可以请像我这样的白痴把它拼出来吗?
编辑:
确定获取这些详细信息在 Twitter 中打开您的应用设置,然后单击 "My Access Token"
链接。
我想在寻找访问令牌时,如果您单击标题为“我的访问令牌”的链接可能会有所帮助。我很想把我的愚蠢归咎于酒,但我真的不知道......
【问题讨论】:
【参考方案1】:博客上几乎所有的 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 库 python-oauth2,不幸的是,它是一个名为 OAuth 库而不是 OAuth2 库。
如果你真的想让其他人授权他们的帐户被你的应用程序使用,那么你需要实现重定向舞蹈,你向 twitter 请求请求令牌/秘密对,然后将用户重定向到 twitter 授权页面这个请求令牌,他们登录并授权令牌并被重定向回您的应用程序,然后您将请求令牌交换为访问令牌和秘密对,您可以存储并使用它们来发出上述请求。
http://github.com/simplegeo/python-oauth2 自述文件中的 Twitter 三足 OAuth 示例似乎涵盖了需要完成的工作
【讨论】:
这个答案你应该得到奖牌。我一直在网上搜索有关如何简单地从我自己的帐户中获取一些信息的详细信息,这是我能找到的唯一全面的答案。 似乎有几十个库和包装器自称为 oauth 或 oauth2,这到底是哪一个? 使用谷歌应用引擎我得到:import oauth2 as oauth ImportError: No module named oauth2 Twitter API 现在需要通过 HTTPS 访问,因此 URL 应为https://api.twitter.com/1.1/statuses/home_timeline.json
更正。一旦我在github.com/simplegeo/python-oauth2获得了正确的python oauth包,我就可以开始工作了【参考方案2】:
我个人使用tweepy,它为 Twitter 的 API 提供了一个不错的 python 包装器
【讨论】:
以上是关于Twitter\OAuth2\Python 入门的主要内容,如果未能解决你的问题,请参考以下文章