【IT168 技術】與Twitter相比,新浪微博做得更好的地方是直接提供了SDK(Twitter貌似只有第三方的SDK)。而我自然是用Python SDK,一個只有幾十k的玩意。
接著進入exanples文件夾(新浪這英文水平,不提了…),打開oauthSetTokenUpdate.py文件就是一個很標準的例子了。
於是照著寫了一個:
# -*- coding: utf-8 -*-
from weibopy.auth import OAuthHandler
from weibopy.api import API
consumer_key= '應用的key'
consumer_secret ='應用的App Secret'
auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)
status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必須是UTF-8編碼的字符串,經緯度是可以不寫的
print status.id
print status.text
注意consumer_key和consumer_secret需要創建一個應用才能拿到。
運行這個程序,你會發現它可恥地失敗了,報出一條語法錯誤:
File 'C:\Documents and Settings\Administrator\Desktop\sinatpy\weibopy\api.py',
line 197 )(self, *args, post_data=post_data, headers=headers)
^SyntaxError: invalid syntax
於是打開weibopy\api.py這個文件,把197行改成:
)(self, post_data=post_data, headers=headers, *args)