100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python新浪微博认证及发微

python新浪微博认证及发微

时间:2022-02-07 10:01:00

相关推荐

python新浪微博认证及发微

新浪微博认证需要安装新浪微博的API(Python),安装好后就可以使用微博提供的的各种接口。这里只简单介绍认证和发微。·

首先可以通过微博开放平台注册应用申请APP_KEY和APP_SECRET,它们是认证所必须的。(无需审核已经可以用很多接口了)

新浪微博开放平台:/

例如我的应用:

设置OAuth2认证的回调地址,这里我设置了默认地址:(回调地址用来接收认证成功的准入序列号)

OAuth2认证过程如下图:

以下是login.py登陆认证模块,返回OAuth2认证成功的APIClient对象:

#login moduleimport urllibimport urllib2import sysfrom weibo import APIClientimport myConfig as condef login():client = APIClient(app_key=con.APP_KEY, app_secret=con.APP_SECRET, redirect_uri=con.CALLBACK_URL)# get authorization url (resource owner)referer_url = client.get_authorize_url()# print referer_urlcookies = urllib2.HTTPCookieProcessor()opener = urllib2.build_opener(cookies)urllib2.install_opener(opener)postdata = {"client_id": con.APP_KEY,"redirect_uri": con.CALLBACK_URL,"userId": con.USERID,"passwd": con.PASSWD,"isLoginSina": "0","action": "submit","response_type": "code"}headers = {"User-Agent":"Guess","Host":"","Referer":referer_url}req = urllib2.Request(url=referer_url,data=urllib.urlencode(postdata),headers=headers)try:# get authorization grantresp=urllib2.urlopen(req)# print resp.geturl()# get request code for access tokencode=resp.geturl()[-32:]# get access tokenr=client.request_access_token(code)client.set_access_token(r.access_token, r.expires_in)print "login success!"return clientexcept Exception, e:print "login error!"print e

其中myConfig是我的配置文件:

APP_KEY = 'xxxxxxxxx'APP_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'CALL_BACK = '/oauth2/default.html'CALLBACK_URL = '/oauth2/default.html'USERID = 'username'PASSWD = 'password'

如果认证成功,那么就可以通过该APIClient对象进行一系列的操作,最基本的如发送微博:

client.statuses.upload.post(status='love is a beauty')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。