1、注册新浪帐号
2、进行开发者认证
需要身份认证,等待了一天时间。提交身份认证后就可以使用了,不必等待认证通过。
3、创建APP
系统会为此应用分配一个APP KEY和APP SECRET,这两个字串非常重要,将会在以后认证或者信息交互时用到。
4、设置app的授权回调页
应用信息 - 高级信息 - OAuth2.0 授权设置,设置授权回调页。
如果没有自己的网站,可以把 redirecturl 设置为 https://api.weibo.com/oauth2/default.html ,程序中的 redirecturl 要与此一致。
如图:
如果没设置授权回调页地址,或者程序中的与此不一样,会出现如下错误:
访问出错了! 你所访问的站点在新浪微博的认证失败,请你联系gnocob或者稍后再试。 (error:redirect_uri_mismatch)
如图:
5、下载需要版本的 sdk
http://open.weibo.com/wiki/SDK
6、查看可用 API
http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3
我的应用可用的接口:http://open.weibo.com/apps/180341588/privilege
7、测试及其他
Python SDK 调用 API 测试如下:
#encoding=utf-8 from weibo import APIClient def get_access_token(app_key, app_secret, callback_url): client = APIClient(app_key=app_key, app_secret=app_secret, redirect_uri=callback_url) # 获取授权页面网址 auth_url = client.get_authorize_url() print auth_url # 在浏览器中访问这个URL,会跳转到回调地址,回调地址后面跟着code,输入code code = raw_input("Input code:") r = client.request_access_token(code) access_token = r.access_token # token过期的UNIX时间 expires_in = r.expires_in print 'access_token:',access_token print 'expires_in:', expires_in return access_token, expires_in if __name__ == '__main__': app_key = '1234567' app_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' callback_url = 'https://api.weibo.com/oauth2/default.html' access_token, expires_in = get_access_token(app_key, app_secret, callback_url) # 上面的语句运行一次后,可保存得到的access token,不必每次都申请 #access_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' #expires_in = '00000000' client = APIClient(app_key=app_key, app_secret=app_secret, redirect_uri=callback_url) client.set_access_token(access_token, expires_in) # 使用获得的OAuth2.0 Access Token调用API print client.get.statuses__user_timeline() print client.post.statuses__update(status=u'测试OAuth 2.0发微博')
OAuth认证方式:
得到 auth_url 之后,形如:
用浏览器打开,会跳转到授权回调页地址,形如:
https://api.weibo.com/oauth2/default.html?code=305fc28bba8cbc2befa41ea43c2009d0,
取得其后跟随的 code 值申请 access_token,成功之后,即可获得访问权限。
注意新浪微博新的API授权方式为 OAuth2,不同于以往的 Basic Auth。详细参考:http://blog.csdn.net/hfahe/article/details/5707170
OAuth2 的使用方式及 API 的使用简介,参考:https://github.com/michaelliao/sinaweibopy/wiki/OAuth2-HOWTO
使用过程有问题在 google 或官方论坛搜索提示信息即可,http://forum.open.weibo.com/searcher.php
来源:https://www.cnblogs.com/congbo/archive/2012/11/01/2748853.html