新浪微博 OAuth2.0 授权以及 API 调用

 

准备工作

1、配置Python开发环境

当然要是你有一台Linux服务器是坠吼滴!

2、在微博开放平台申请开发资格并创建一个应用

完成完善身份资料,身份认证,创建应用等步骤。

3、应用信息设置

进入 "微博开放平台 - 我的应用 - '应用' - 应用信息":

在基本信息中取得App Key和App Secret;

在高级信息中设置授权回调页。授权回调页即用户同意授权后跳转的页面url,https://www.baidu.com即可;

在测试信息中关联需要完成授权的帐号。

4、安装sinaweibopy

sinaweibopy是新浪微博的Python SDK。我们可以通过pip包管理工具安装sinaweibopy,pip则需要通过第三方软件源EPEL获得。

yum -y install epel-release
yum -y install python-pip
yum clean all
pip install sinaweibopy

 

 

OAuth2.0授权

APP_KEY、APP_SECRET和CALLBACK_URL的设定与应用信息中的保持一致:

1 from weibo import APIClient
2 
3 APP_KEY = 'XXXXX'
4 APP_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
5 CALLBACK_URL = 'https://www.baidu.com'
6
7 client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)

获取授权页url并打印:

1 url = client.get_authorize_url() 
2 print "Auth_Url:" + url

我们复制授权页url在浏览器打开,同意授权后跳转至百度,观察url发现包含了code参数。请求token需要该code。

输入code后获取access_token和expires_in(token过期的UNIX时间):

1 code = raw_input("code=")
2 
3 r = client.request_access_token(code)
4 
5 access_token = r.access_token
6 expires_in = r.expires_in

设定token,完成授权:

1 client.set_access_token(access_token, expires_in)

 

 

API调用

1、发送微博

通过API说明文档得知,接口为statuses/update,方法为post(),OAuth授权时必选参数是status。

1 r = client.statuses.update.post(status=u'test')     # Python 2.7.5

2、获取时间线并打印

接口为statuses/user_timeline,方法为get(),OAuth授权时无必选参数。

1 print r = client.statuses.user_timeline.get()

3、更多API和详细说明见参考资料4

 

 

参考资料

1、sinaweibopy

http://github.liaoxuefeng.com/sinaweibopy/

2、OAuth2 HOWTO · michaelliao/sinaweibopy Wiki · GitHub

https://github.com/michaelliao/sinaweibopy/wiki/OAuth2-HOWTO

3、授权机制说明 - 微博API

http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6

4、API - 微博API

http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI

 

转载于:https://www.cnblogs.com/t1me/p/6729721.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值