跳转到: 导航, 搜索
第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="10%" 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="75%" 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|授权回调地址,传的值需与自己在开放平台网站填写的回调地址一致,设置填写位置:“我的应用>应用信息>高级信息”。}}
+
{{api_args|redirect_uri|true|string|授权回调地址,传的值需与在开放平台网站填写的回调地址一致,设置填写位置:“我的应用>应用信息>高级信息”。}}
 
{{api_args|scope|false|string|申请scope权限所需参数,可一次申请多个scope权限,用逗号分隔。[[Scope|使用文档]] }}
 
{{api_args|scope|false|string|申请scope权限所需参数,可一次申请多个scope权限,用逗号分隔。[[Scope|使用文档]] }}
{{api_args|state|false|string|用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置。这个参数可用于防止跨站请求伪造(CSRF)攻击}}
+
{{api_args|state|false|string|用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置,这个参数可用于防止跨站请求伪造(CSRF)攻击。}}
{{api_args|display|false|string|授权页面的终端类型,取值见下面的说明。}}
+
{{api_args|display|false|string|授权确认页面可适配的终端类型,取值见下面的说明。}}
 
{{api_args|forcelogin|false|boolean|是否强制用户重新登录,true:是,false:否。默认false。}}
 
{{api_args|forcelogin|false|boolean|是否强制用户重新登录,true:是,false:否。默认false。}}
{{api_args|language|false|string|授权页语言,缺省为中文简体版,en为英文版。英文版测试中,开发者任何意见可反馈至 @微博API}}
+
{{api_args|language|false|string|授权确认页显示的语言,缺省为中文简体版,en为英文版。}}
 
|}
 
|}
  
  
;'''display说明:'''
+
==授权确认页可适配的终端类型(display 参数)==
 +
 
 
{| 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;"
 
|-
 
|-
第32行: 第42行:
 
|-
 
|-
 
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|default
 
|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;border:1px solid #cccccc"|默认适配的授权确认页,适用于PC端的网页浏览器。
 
|-
 
|-
 
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|mobile
 
|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;border:1px solid #cccccc"|适配移动端的授权确认页,适用于手机浏览器场景。
|-
+
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|wap
+
|style="text-align:left;padding-left:5px;border:1px solid #cccccc"|wap版授权页面,适用于非智能手机。
+
|-
+
|style="text-align:left;padding-left:5px;font-weight:bolder;border:1px solid #cccccc"|client
+
|style="text-align:left;padding-left:5px;border:1px solid #cccccc"|客户端版本授权页面,适用于PC桌面应用。
+
 
|}
 
|}
  
==返回数据==
+
 
 +
==授权成功后请求回调地址时回传的数据==
 +
 
 
{| 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|code|string|用于第二步调用oauth2/access_token接口,获取授权后的access token。}}
+
{{rdes_args|code|string|用于第二步调用 access_token 接口,换取授权的 access token。}}
{{rdes_args|state|string|如果传递参数,会回传该参数。}}
+
{{rdes_args|state|string|如果请求时传递了该参数,则会在回调时回传该参数。}}
 
|}
 
|}
 +
  
 
==示例==
 
==示例==
<pre>
 
//请求
 
https://api.weibo.com/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=code
 
  
//同意授权后会重定向
+
<div style="margin:15px 0;">
http://www.example.com/response&code=CODE
+
在浏览器内请求 oauth2/authorize 接口
 +
</div>
 +
 
 +
<pre class="brush:js">
 +
https://api.weibo.com/oauth2/authorize?client_id=123456&redirect_uri=http://www.example.com/response&response_type=code
 
</pre>
 
</pre>
 +
 +
<div style="margin:15px 0;">
 +
正确的请求会在浏览器内打开一个授权确认页面,当用户同意授权后,会重定向到授权回调地址,并带上回传的数据
 +
</div>
 +
 +
<pre class="brush:js">
 +
http://www.example.com/response?code=CODE
 +
</pre>
 +
 +
 +
  
  
  
 +
{{#a:nobtns|noheading}}
 
__NOTOC__
 
__NOTOC__

2022年10月11日 (二) 11:50的版本

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 授权确认页面可适配的终端类型,取值见下面的说明。
forcelogin false boolean 是否强制用户重新登录,true:是,false:否。默认false。
language false string 授权确认页显示的语言,缺省为中文简体版,en为英文版。


授权确认页可适配的终端类型(display 参数)

参数取值 类型说明
default 默认适配的授权确认页,适用于PC端的网页浏览器。
mobile 适配移动端的授权确认页,适用于手机浏览器场景。


授权成功后请求回调地址时回传的数据

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


示例

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

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

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

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