跳转到: 导航, 搜索
 
(未显示3个用户的33个中间版本)
第1行: 第1行:
==oauth2/authorize==
+
=oauth2/authorize=
OAuth2的authorize接口
+
 
 +
<div class="wiki_txtJ">
 +
OAuth2 授权第一步 authorize 接口,请求用户授权code
 +
</div>
 +
 
  
 
==URL==
 
==URL==
 +
 
https://api.weibo.com/oauth2/authorize
 
https://api.weibo.com/oauth2/authorize
 +
  
 
==HTTP请求方式==
 
==HTTP请求方式==
GET/POST
+
 
 +
GET / POST
 +
 
  
 
==请求参数==
 
==请求参数==
 +
 
{| border="1" cellspacing="0" cellpadding="0" width="100%" class="parameters" style="border-color: #CCCCCC;"
 
{| border="1" cellspacing="0" cellpadding="0" width="100%" class="parameters" style="border-color: #CCCCCC;"
 
|-
 
|-
!width="10%" style="text-align:center;font-weight:bolder;border:1px solid #cccccc"|&nbsp;
+
!width="15%" style="text-align:center;font-weight:bolder;border:1px solid #cccccc"|参数
 
!width="5%" style="text-align:center;font-weight:bolder;border:1px solid #cccccc"|必选
 
!width="5%" style="text-align:center;font-weight:bolder;border:1px solid #cccccc"|必选
 
!width="10%" style="text-align:center;font-weight:bolder;border:1px solid #cccccc"|类型及范围
 
!width="10%" style="text-align:center;font-weight:bolder;border:1px solid #cccccc"|类型及范围
!width="75%" style="text-align:center;font-weight:bolder;border:1px solid #cccccc"|说明
+
!width="70%" style="text-align:center;font-weight:bolder;border:1px solid #cccccc"|说明
{{api_args|client_id|true|string|申请应用时分配的AppKey。}}
+
{{api_args|client_id|true|string|第三方应用在微博开放平台注册的APPKEY。}}
{{api_args|redirect_uri|true|string|授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。}}
+
{{api_args|redirect_uri|true|string|授权回调地址,传的值需与在开放平台网站填写的回调地址一致,设置填写位置:“我的应用>应用信息>高级信息”。}}
{{api_args|response_type|false|string|返回类型,支持code、token,默认值为code。}}
+
{{api_args|scope|false|string|申请scope权限所需参数,可一次申请多个scope权限,用逗号分隔。[[Scope|使用文档]] }}
{{api_args|state|false|string|用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。}}
+
{{api_args|state|false|string|用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置,这个参数可用于防止跨站请求伪造(CSRF)攻击。}}
{{api_args|display|false|string|授权页面的终端类型,取值见下面的说明。}}
+
{{api_args|display|false|string|授权确认页面可适配的终端类型,取值为:default - 默认的授权确认页,适用于PC端的网页浏览器,mobile - 适配移动端的授权确认页,适用于手机浏览器场景。}}
 +
{{api_args|forcelogin|false|boolean|是否强制用户重新登录,true:是,false:否。默认false。}}
 +
{{api_args|language|false|string|授权确认页显示的语言,缺省为中文简体版,en为英文版。}}
 
|}
 
|}
  
  
;'''display说明:'''
+
==调用示例与返回结果==
{| border="1" cellspacing="0" cellpadding="0" width="100%" class="parameters" style="border-color: #CCCCCC;"
+
|-
+
!width="20%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|参数取值
+
!width="80%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|类型说明
+
|-
+
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|default
+
|style="text-align:left;padding-left:5px;border:1px solid #cccccc"|默认的授权页面,适用于web浏览器。
+
|-
+
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|mobile
+
|style="text-align:left;padding-left:5px;border:1px solid #cccccc"|移动终端的授权页面,适用于支持html5的手机。
+
|-
+
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|popup
+
|style="text-align:left;padding-left:5px;border:1px solid #cccccc"|弹窗类型的授权页,适用于web浏览器小窗口。
+
|-
+
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|wap1.2
+
|style="text-align:left;padding-left:5px;border:1px solid #cccccc"|wap1.2的授权页面。
+
|-
+
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|wap2.0
+
|style="text-align:left;padding-left:5px;border:1px solid #cccccc"|wap2.0的授权页面。
+
|-
+
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|js
+
|style="text-align:left;padding-left:5px;border:1px solid #cccccc"|微博JS-SDK专用授权页面,弹窗类型,返回结果为JSONP回掉函数。
+
|-
+
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|apponweibo
+
|style="text-align:left;padding-left:5px;border:1px solid #cccccc"|默认的站内应用授权页,授权后不返回access_token,只刷新站内应用父框架。
+
|}
+
  
==返回数据==
+
<div style="margin:15px 0;">
:'''response_type为code'''
+
在浏览器内请求 oauth2/authorize 接口
{| border="1" cellspacing="0" cellpadding="0" width="100%" class="parameters" style="border-color: #CCCCCC;"
+
</div>
|-
+
 
!width="25%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|返回值字段
+
<div class="code_type">URL</div>
!width="15%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|字段类型
+
<pre class="brush:js">
!width="60%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|字段说明
+
https://api.weibo.com/oauth2/authorize?client_id=123456&redirect_uri=http://www.example.com/response&response_type=code
{{rdes_args|code|string|用于调用access_token,接口获取授权后的access token。}}
+
</pre>
{{rdes_args|state|string|如果传递参数,会回传该参数。}}
+
|}
+
  
  
:'''response_type为token'''
+
<div style="margin:15px 0;">
 +
正确的请求会在浏览器内打开一个授权确认页面,当用户同意授权后,会重定向到授权回调地址,并带上回传的数据
 +
</div>
 +
 
 +
<div class="code_type">URL</div>
 +
<pre class="brush:js">
 +
http://www.example.com/response?code=CODE
 +
</pre>
 +
 
 +
 
 +
<div style="margin:15px 0;">
 +
错误的请求会在浏览器内显示一个错误页面,错误码和报错信息都会在页面上会显示出来,可根据错误信息修改调试,大部分情况下,错误都是因为回调地址(redirect_uri 参数)不匹配引起的,对应错误码 21322,此时需要将传参中的 redirect_uri 参数与在开放平台网站填写的回调地址确保一致即可解决,设置填写位置:“我的应用>应用信息>高级信息”。
 +
</div>
 +
 
 +
 
 +
==授权成功后请求回调地址回传数据说明==
 +
 
 
{| border="1" cellspacing="0" cellpadding="0" width="100%" class="parameters" style="border-color: #CCCCCC;"
 
{| border="1" cellspacing="0" cellpadding="0" width="100%" class="parameters" style="border-color: #CCCCCC;"
 
|-
 
|-
!width="25%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|返回值字段
+
!width="25%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|返回字段
 
!width="15%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|字段类型
 
!width="15%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|字段类型
 
!width="60%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|字段说明
 
!width="60%" style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|字段说明
{{rdes_args|access_token|string|用来调用其它接口的授权过的accesstoken。}}
+
{{rdes_args|code|string|用于第二步调用 access_token 接口,换取授权的 access token。}}
{{rdes_args|expires_in|string|accesstoken有效期时间,unix的timestamp格式。}}
+
{{rdes_args|state|string|如果请求时传递了该参数,则会在回调时回传该参数。}}
{{rdes_args|state|string|如果传递参数,会回传该参数。}}
+
 
|}
 
|}
  
==示例==
 
;'''response_type为token'''
 
<pre>
 
//请求
 
https://api.t.sina.com.cn/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=token
 
  
//同意授权后会重定向
 
http://www.example.com/response#access_token=ACCESS_TOKEN&expires_in=250327040
 
</pre>
 
 
 
;'''response_type为code'''
 
<pre>
 
//请求
 
https://api.t.sina.com.cn/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=code
 
 
//同意授权后会重定向
 
http://www.example.com/response&code=CODE
 
</pre>
 
  
  
  
 +
{{#a:nobtns|noheading}}
 
__NOTOC__
 
__NOTOC__

2022年10月11日 (二) 15:24的最后版本

oauth2/authorize

OAuth2 授权第一步 authorize 接口,请求用户授权code


URL

https://api.weibo.com/oauth2/authorize


HTTP请求方式

GET / POST


请求参数

参数 必选 类型及范围 说明
client_id true string 第三方应用在微博开放平台注册的APPKEY。
redirect_uri true string 授权回调地址,传的值需与在开放平台网站填写的回调地址一致,设置填写位置:“我的应用>应用信息>高级信息”。
scope false string 申请scope权限所需参数,可一次申请多个scope权限,用逗号分隔。使用文档
state false string 用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置,这个参数可用于防止跨站请求伪造(CSRF)攻击。
display false string 授权确认页面可适配的终端类型,取值为:default - 默认的授权确认页,适用于PC端的网页浏览器,mobile - 适配移动端的授权确认页,适用于手机浏览器场景。
forcelogin false boolean 是否强制用户重新登录,true:是,false:否。默认false。
language false string 授权确认页显示的语言,缺省为中文简体版,en为英文版。


调用示例与返回结果

在浏览器内请求 oauth2/authorize 接口

URL
https://api.weibo.com/oauth2/authorize?client_id=123456&redirect_uri=http://www.example.com/response&response_type=code


正确的请求会在浏览器内打开一个授权确认页面,当用户同意授权后,会重定向到授权回调地址,并带上回传的数据

URL
http://www.example.com/response?code=CODE


错误的请求会在浏览器内显示一个错误页面,错误码和报错信息都会在页面上会显示出来,可根据错误信息修改调试,大部分情况下,错误都是因为回调地址(redirect_uri 参数)不匹配引起的,对应错误码 21322,此时需要将传参中的 redirect_uri 参数与在开放平台网站填写的回调地址确保一致即可解决,设置填写位置:“我的应用>应用信息>高级信息”。


授权成功后请求回调地址回传数据说明

返回字段 字段类型 字段说明
code string 用于第二步调用 access_token 接口,换取授权的 access token。
state string 如果请求时传递了该参数,则会在回调时回传该参数。




文档更新时间: 2022-10-11