【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
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
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)