【问题标题】:Python Twitter Search OAuth Help - tweepyPython Twitter 搜索 OAuth 帮助 - tweepy
【发布时间】:2012-12-15 09:48:27
【问题描述】:

我想我错过了什么,需要有人来打我的头。

import sys
import tweepy
import urllib
import simplejson
from pprint import pprint

CONSUMER_KEY = '----'
CONSUMER_SECRET = '----'
ACCESS_KEY = '----'
ACCESS_SECRET = '----'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)

rate = api.rate_limit_status()
print rate["remaining_hits"]

print api.me().name

search = urllib.urlopen("https://api.twitter.com/1.1/search/tweets.json?q=+arsenal&page=1")

dict = simplejson.loads(search.read())

pprint(dict)

OAuth 有效,我可以使用 tweepy API 返回我的 rate_limit_status 并打印我的姓名。然后我想使用搜索 API v1.1(tweepy 的 api.search() - 实现没有 OAuth 的旧搜索)并得到一个“错误的身份验证数据”错误。

我认为我对 OAuth 的理解非常不正确 - 我假设一旦获得访问令牌,我就可以进行授权调用。通过运行上述代码,我认为这是错误的 - 有人可以帮我使用 OAuth 执行 API1.1 搜索 - 我需要随请求一起发送什么?

谢谢!

【问题讨论】:

标签: python search twitter oauth tweepy


【解决方案1】:

您无需使用 OAuth 进行 Twitter 搜索。只需拨打电话

search = urllib.urlopen("https://search.twitter.com/search.json?q=+arsenal&page=1")

顺便说一句,当您使用 urllib.urlopen 调用 Twitter API 时,您没有传递任何 OAuth 凭据,因此如果端点需要身份验证,您将收到错误消息。如果您查看 Tweepy 的源代码,它一定会发送 Twitter 每次调用所需的凭据。

【讨论】:

  • 感谢 Diego - 我一直在使用您的搜索调用,但需要一些 twitter 通过 GET search/tweets API1.1 提供的更新数据。这需要 OAuth :( 我必须使用什么来代替 urllib.urlopen 来传递 OAuth 凭据?
  • 你试过 tweepi.API.search 吗? packages.python.org/tweepy/html/api.html
  • 是的 - 即使它没有具体记录。 APT.search() - 只使用了非 OAuth 搜索。 - 文档说它返回一个“SearchResult”对象;那是来自非 OAuth 搜索的对象。新搜索将返回“状态”对象。
猜你喜欢
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 2017-08-22
  • 2013-01-07
  • 2011-09-28
  • 1970-01-01
相关资源
最近更新 更多