微博API发送微博
使用微博的API和SDK的其中的关键一步是取得token. 而取得token是需要通过oauth2认证才可以得到。
下面是一段取得token的代码逻辑:
1 2 3 4 5 6 7 8 9
| APP_KEY ='012345678' APP_SECRET = '01234567891011121314151617181920' CALL_BACK= 'http://www.lua.ren/callback' client = weibo.APIClient(APP_KEY, APP_SECRET, CALL_BACK) auth_url = client.get_authorize_url() login_url = 'https://api.weibo.com/oauth2/authorize' params = urllib.urlencode({'action' : 'submit','response_type' : 'code','redirect_uri' : CALL_BACK,'client_id' : APP_KEY,'userId' : 'userid','passwd' : 'password',}) url = client.get_authorize_url()
|
APP_KEY各APP_SECRET是申请OPEN API时被分配的,CALL_BACK是在微博开放API后台自定义的,当你用浏览器访问client.get_authorize_url()函数返回的url时,微博开发接口会调用这个callback的url,调用中包含了code这个字段,通过code可以取得token。
只有取得了token之后,才可以正常的访问微博的API。
代码如下:
1 2
| r = client.request_access_token(code) client.set_access_token(r.access_token, r.expires_in)
|
发送微博代码:
1 2 3
| content = 'test' if content: client.statuses.update.post(status=content)
|