Twitter,错误:urllib.error.HTTPError:HTTP错误401:未授权

Twitter,错误:urllib.error.HTTPError:HTTP错误401:未授权

问题描述:

 
def send_to_twitter(): 
    msg = "I am a message that will be sent to Twitter" 
    password_manager = urllib.request.HTTPPasswordMgr() 
    password_manager.add_password("Twitter API", 
    "http://twitter.com/statuses", "username", "password") 
    http_handler = urllib.request.HTTPBasicAuthHandler(password_manager) 
    page_opener = urllib.request.build_opener(http_handler) 
    urllib.request.install_opener(page_opener) 
    params = urllib.parse.urlencode({'status': msg}) 
    resp = urllib.request.urlopen("http://twitter.com/statuses/update.json", params) 
    resp.read() 

当我通过IDLE执行此代码时,出现错误;Twitter,错误:urllib.error.HTTPError:HTTP错误401:未授权

 
urllib.error.HTTPError: HTTP Error 401: Unauthorized 

我的代码可能有问题吗?

+0

这是必须用错误的用户名或密码做些什么.. – Dananjaya 2010-09-19 07:10:42

Twitter no longer supports HTTP Authentication。你应该使用oauth代替。

tweepy似乎是一个很好的图书馆,如果你想从Python做Twitter:它是最新的,支持宣誓,看起来非常完整。

+0

+1对于Tweepy很好的库建立了我自己的客户端:) – 2010-09-19 07:34:14

您正在使用旧的HTTP身份验证方法。使用OAuth升级。

转到下面的链接设置你的Twitter应用程序:twitter.com/apps/new (提示:您可以将您的网址为127.0.0.1用于测试目的并记住应用程序设置为浏览器,并指定回调URL)

你可以从那里继续。