微博Python SDK 发微博
程序员文章站
2023-12-22 17:46:16
...
微博API接口List:
https://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI
发微博所用接口:
https://open.weibo.com/wiki/2/statuses/share
各种SDK List:
https://open.weibo.com/wiki/SDK
Python SDK使用文档:
https://github.com/michaelliao/sinaweibopy/wiki/OAuth2-HOWTO
ps:该文档的发送微博部分的代码不对,官方API已经把update和upload这两个接口封了,换成了share接口
以上准备完毕接下来要实装了:
1.注册微博App后,可以获得app key和app secret,然后定义网站回调地址:
2. 下载Python SDK程序:
点击上方提供的各种SDK List的Python SDK的链接,进入下载页面
3. 使用简介
注册微博App后,可以获得app key和app secret,然后定义网站回调地址:
from weibo import APIClient
APP_KEY = '1234567' # app key
APP_SECRET = 'abcdefghijklmn' # app secret
CALLBACK_URL = 'http://www.example.com/callback' # callback url
在网站放置“使用微博账号登录”的链接,当用户点击链接后,引导用户跳转至如下地址:
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
print url
复制上面print的URL到浏览器,进行用户授权,
用户授权后,将跳转至网站回调地址,并附加参数code=abcd1234:
# 获取URL参数code:
code = 上面url后的code参数
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in # token过期的UNIX时间:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)
然后,可调用任意API:
print client.statuses.user_timeline.get()
print client.statuses.share.post(status=u'测试OAuth 2.0发微博')
print client.statuses.share.post(status=u'测试OAuth 2.0带图片发微博', pic=open('/Users/michael/test.png'))
ps:小女子python小白,刚学python第一天,各种文件引用不熟悉,所以就直接在weibo.py 最后加代码了,
好了,上代码:
测试结果