python twitter 404

时间:2013-01-31 20:08:39

标签: python api twitter python-twitter

我正在尝试使用twitter-python连接到twitter的API,我不断收到这个麻烦的404错误!

代码如下:

import sys
import twitter
def main():
  api = twitter.Api()
  statuses = api.GetPublicTimeline()
  print [s.user.name for s in statuses]

它应该返回在公共时间轴上发布状态更新的人的名字,但我得到了这个追溯。

Traceback (most recent call last):
  File "new.py", line 14, in <module>
    main()
  File "new.py", line 10, in main
    statuses = api.GetPublicTimeline()
  File "/usr/lib/pymodules/python2.7/twitter.py", line 1319, in GetPublicTimeline
    json = self._FetchUrl(url,  parameters=parameters)
  File "/usr/lib/pymodules/python2.7/twitter.py", line 2030, in _FetchUrl
    url_data = opener.open(url, encoded_post_data).read()
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 513, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 438, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 372, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 521, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found

如果我尝试进行身份验证,我的所有请求都会以401发回。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

https://code.google.com/p/python-twitter/上他们说:

python-twitter库现在只支持oAuth身份验证,因为Twitter开发人员已经指出oAuth是唯一可以支持前进的方法。

  
    
      

api = twitter.Api(con​​sumer_key ='consumer_key',       consumer_secret ='consumer_secret',access_token_key ='access_token',access_token_secret ='access_token_secret')

    
  

这与您的问题有关吗?

答案 1 :(得分:0)

Twitter是使oAuth流程对开发人员无痛的最好的API之一。如果您登录Twitter并转到https://dev.twitter.com/apps的开发人员仪表板,则可以注册新应用程序(或配置现有应用程序)。

查看应用程序详细信息将为您提供一个&#34; oAuth工具&#34;选项卡,您可以在其中找到该应用的所有相关oAuth值:消费者密钥,消费者密钥,访问令牌和访问令牌密钥。

如果您要创建一个始终以Twitter作为同一用户进行身份验证的应用程序,您只需将这些值硬编码到代码中或将其存储在某个配置文件中。如果您的应用程序需要代表多个用户对Twitter进行身份验证(例如,以便它可以代表用户发布状态),那么您需要经历{{3}中描述的oAuth舞蹈。 }。