OAuth2.0学习(1-11)新浪开放平台微博认证-使用OAuth2.0调用微博的开放API
使用OAuth2.0调用API
使用OAuth2.0调用API接口有两种方式:
1、 直接使用参数,传递参数名为 access_token
1
|
https://api.weibo.com/2/statuses/public_timeline.json?access_token=abcd
|
2、在header里传递,形式为在header里添加 Authorization:OAuth2空格abcd,这里的abcd假定为Access Token的值,其它接口参数正常传递即可。
注:所有的微博开放平台接口都部署在weibo.com域下,仅有移动端的授权接口在open.weibo.cn域。
授权中的其他功能
Scope
Scope是OAuth2.0新版授权页提供的一个功能,通过scope,平台将开放更多的微博核心功能给开发者,同时也加强用户隐私保护,提升了用户体验,用户在新OAuth2.0授权页中有权利选择赋予应用的功能。
Scope开放的接口文档:接口文档
客户端默认回调页
通常Mobile Native App没有服务器回调地址,您可以在应用控制台授权回调页处填写平台提供的默认回调页,该页面用户不可见,仅用于获取access token。
OAuth2.0客户端默认回调页:https://api.weibo.com/oauth2/default.html
强制登录
授权页会默认读取当前用户的微博登录状态,如果你想让用户重新登录,请在调用authorize接口时传入参数:forcelogin=true,默认不填写此参数相当于forcelogin=false。
取消授权回调页
开发者可以在应用控制台填写取消授权回调页,当用户取消你的应用授权时,开放平台会回调你填写的这个地址。并传递给你以下参数,source:应用appkey,uid :取消授权的用户,auth_end :取消授权的时间
OAuth2.0相关资源
以下SDK包含了OAuth2.0及新版API接口
下载Android SDK | 下载iOS SDK | 下载WP7 SDK |
下载PHP SDK(由SAE维护) | 下载Java SDK | 下载Python SDK |
下载Flash SDK | 下载Javascript SDK | 下载C# SDK |
移动开发SDK说明文档
Android SDK 说明文档 | iOS SDK 说明文档 | WP7 SDK 说明文档 |
其他参考资料
OAuth是一种国际通用的授权方式, OAuth2.0的官方技术说明可参看 http://oauth.net/2/
如果你仍在使用Oauth1.0,请进入浏览相关文档。
OAuth2.0 错误码
微博OAuth2.0实现中,授权服务器在接收到验证授权请求时,会按照OAuth2.0协议对本请求的请求头部、请求参数进行检验,若请求不合法或验证未通过,授权服务器会返回相应的错误信息,包含以下几个参数:
- error: 错误码
- error_code: 错误的内部编号
- error_description: 错误的描述信息
- error_url: 可读的网页URI,带有关于错误的信息,用于为终端用户提供与错误有关的额外信息。
错误信息的返回方式有两种:
1. 当请求授权Endpoint:https://api.weibo.com/2/oauth2/authorize 时出现错误,返回方式是:跳转到redirect_uri,并在uri 的query parameter中附带错误的描述信息。
2. 当请求access token endpoing:https://api.weibo.com/oauth2/access_token 时出现错误,返回方式:返回JSON文本。例如:
1
2
3
4
5
|
{
"error" : "unsupported_response_type" ,
"error_code" : 21329,
"error_description" : "不支持的ResponseType."
}
|
OAuth2.0错误响应中的错误码定义如下表所示:
错误码(error) | 错误编号(error_code) | 错误描述(error_description) |
---|---|---|
redirect_uri_mismatch | 21322 | 重定向地址不匹配 |
invalid_request | 21323 | 请求不合法 |
invalid_client | 21324 | client_id或client_secret参数无效 |
invalid_grant | 21325 | 提供的Access Grant是无效的、过期的或已撤销的 |
unauthorized_client | 21326 | 客户端没有权限 |
expired_token | 21327 | token过期 |
unsupported_grant_type | 21328 | 不支持的 GrantType |
unsupported_response_type | 21329 | 不支持的 ResponseType |
access_denied | 21330 | 用户或授权服务器拒绝授予数据访问权限 |
temporarily_unavailable | 21331 | 服务暂时无法访问 |
appkey permission denied | 21337 | 应用权限不足 |
OAuth2.0相关问题,查看 OAuth2.0相关问题
转载于:https://www.cnblogs.com/lexiaofei/p/7029342.html
OAuth2.0学习(1-11)新浪开放平台微博认证-使用OAuth2.0调用微博的开放API相关推荐
- 微信开放平台open认证_在Open Knowledge上传播开放数据的日常任务
微信开放平台open认证 Beatrice Martini是Open Knowledge的活动经理. 紧随其后的是她在日内瓦举行的开放知识会议(2013)的成功活动,她现在正在组织将于7月15日至17 ...
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用基础
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! PHP+ ...
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——进一步学习的走向和有用的资源
PHP+新浪微博开放平台+新浪云平台(SAE) --新浪微博应用开发的一个解决方案 一.PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 二.建立微博应用的过程 三.PHP SDK中Demo程 ...
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——PHP SDK中Demo程序简析
PHP+新浪微博开放平台+新浪云平台(SAE) --新浪微博应用开发的一个解决方案 一.PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 二.建立微博应用的过程 三.PHP SDK中Demo程 ...
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——建立微博应用的过程
PHP+新浪微博开放平台+新浪云平台(SAE) --新浪微博应用开发的一个解决方案 一.PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 二.建立微博应用的过程 三.PHP SDK中Demo程 ...
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——必须交待的几个问题
PHP+新浪微博开放平台+新浪云平台(SAE) --新浪微博应用开发的一个解决方案 一.PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 二.建立微博应用的过程 三.PHP SDK中Demo程 ...
- 新浪云平台创建mysql数据库并使用php7.0版本连接
在新浪云平台上创建共享型mysql数据库 创建数据库 点击管理 选择导入 从navicat中取出已存在的sql文件 在navicat转储sql文件 注意,保存时文件要命名成新浪云数据库名 将转储 好的 ...
- 基于新浪SAE平台的网站监控报警系统
转自:http://www.aips.me/sina-sae-website-monitoring-system.html 前期为大家介绍过一款基于新浪SAE平台的定时手机短信提示功能,非常的实用,但 ...
- 新浪开发者平台(Sina App Engine)初探
不知几时新浪推出了它的云服务平台Sina App Engine,现在还在内测阶段,需要邀请码才能注册,已经发过两次邀请码,不过都错过了,费劲申请了个邀请码,谈谈对SAE平台的感觉. SAE是基于成熟的 ...
- 新浪云平台——免费建站100个(图解教程)
新浪云平台--免费建站100个(图解教程) 如何免费建站?大部分SEO还有淘宝客们都希望建立属于自己的网站,可是刚开始的菜鸟们,没有强硬的建站本领,没有相关的建站知识,也没什么钱,所以都希望能有一个免 ...
最新文章
- MySQL运行状态show status详解
- 【★】Web精彩实战之智能迷宫
- 投资互联网+企业级IT呈现三大新趋势
- egg前面加什么_跟 egg 有关的英语多半是贬义,goose egg 也八九不离十
- linux sed删除文件最后一行及shell中单引号、双引号的区别
- java 修改商品如何实现的_Javaweb-案例练习-5-商品数量修改和合计金额实现
- 51nod 1127 最短的包含字符串(尺取法)
- WIN10 查看已经连接的wifi的密码
- ZigBee On Windows Mobile-ZigBee模块的设计制作
- MySql_SQLyog快捷键
- Landsat7大气校正后图像变色
- 受益于人工智能的发展,人们可以以前所未有的时空分辨率系统地观察神经活动
- 微软修补Windows零日漏洞,该漏洞允许在Windows计算机上远程执行
- Available-Python-Tuf
- 新手如何运营好阿里国际站+产品标题组成
- Android计分器论文,毕业设计-电子计分器-毕业论文.doc
- 面试题:一头牛重800公斤,一座桥承重700公斤,牛应该怎么过桥
- JavaScript prototype 使用介绍
- php 网页截图,codefromnet/PHP网页截图-网页快照实现.txt at master · yangyu0116/codefromnet · GitHub...
- 在Unity中制作逼真的建筑场景
热门文章
- DelegatingFilterProxy详解
- Log42j 源代码分析:日志回滚
- 获取指定年份至今年分列表
- BIO | NIO | AIO (Java版)
- 关于解决Windows server系统用户无法远程的问题
- cdecl.org 翻译C声明的网站
- 第一节 42字符串基础
- 搜索数据android ui,搜索概览 | Android 开发者 | Android Developers
- yum安装php解析,详解Centos下YUM安装PHP的两种方式
- python函数名的作用_Python:函数名称空间与作用域: