新浪微博 API 使用入门

来源:互联网 发布:淘宝易趣网 编辑:程序博客网 时间:2024/05/21 09:57

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-8from weibo import APIClientdef 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_inif __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/authorize?redirect_uri=https%3A//api.weibo.com/oauth2/default.html&response_type=code&client_id=180341588&display=default ,

用浏览器打开,会跳转到授权回调页地址,形如:

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

原创粉丝点击