OAuth授权 (OAuth 2.0)
本节将为您介绍OAuth授权 (OAuth 2.0)相关接口。Marketing API所有接口均需通过请求参数中传递的access_token(授权令牌)来进行身份认证和鉴权,关于授权认证的相关介绍可以参考【授权认证】章节。
所属权限(scope):Account Management, Ads Management, Ads Insights, Audience Management, User Actions
所属权限(scope):Account Management, Ads Management, Ads Insights, Audience Management, User Actions
获取 Authorization Code
全部接口
V1.1
loading
所属权限 | Account Management,Ads Management,Ads Insights,Audience Management,User Actions |
请求地址 | https://developers.e.qq.com/oauth/authorize |
请求方法 | get |
全局参数
全局参数是指每一个接口都需要使用到的参数。详情参考,代码案例参考。
参数名称 | 参数类型 |
---|---|
access_token | 授权令牌,完成 OAuth 2.0 授权后获得,参考授权认证章节 |
timestamp |
当前的时间戳,单位为秒,允许客户端请求最大时间误差为 300 秒。 MarketingAPI 所使用的时间戳,若无特殊说明,均为秒级时间戳 MarketingAPI 所使用的时区为 GMT+8,例如当时间戳为 1494840119 时,表示 2017-05-15 17:21:59 |
nonce | 随机字串标识,不超过 32 个字符,由调用方自行生成,需保证全局唯一性 |
fields | get 接口增加 fields 字段,用于指定返回参数的字段列表,为选填字段。fields 取值范围为 get 接口返回的 list 中的字段。如不填写,则根据默认值进行返回 |
请求参数
标有*的参数为必填项
名称 | 类型 | 描述 |
---|---|---|
client_id*
|
integer | 应用 id,在开发者官网创建应用后获得,可通过 [应用程序管理页面] 查看 |
redirect_uri*
|
string | 应用回调地址,仅支持 http 和 https,不支持指定端口号,且主域名必须与创建应用时登记的回调域名一致,若地址携带参数,需要对地址进行 urlencode 字段长度最小 1 字节,长度最大 1024 字节 |
state
|
string | 验证请求有效性参数,值为用户自取,用于阻止跨站请求伪造攻击 字段长度最小 0 字节,长度最大 512 字节 |
scope
|
string | 授权范围,可选值:ads_management(广告投放)、ads_insights(数据洞察)、account_management(帐号服务)、audience_management(人群管理)、user_actions(用户行为数据接入),不传即为授权全部权限 字段长度最小 1 字节,长度最大 64 字节 |
account_type
|
enum | 授权账号类型,登录账号类型 QQ(默认值),微信,[枚举详情] 枚举列表:{ ACCOUNT_TYPE_WECHAT, ACCOUNT_TYPE_QQ } |
account_display_number
|
integer | 授权页面展示账号类型(QQ 账号/微信账号)数量,当取值为 1 时授权页面仅展示 account_type 指定的账号类型,当取值为 2 时授权页面展示所有账号类型授权页面,默认优先显示 account_type 指定的账号类型,只能取值 1 或 2 最小值 1,最大值 2 |
使用说明
- OAuth 相关接口无需提供 access_token、timestamp、nonce 等通用请求参数。
- 该接口的请求及应答涉及到页面交互,详细过程可参考 [授权认证]。
请求示例
在浏览器访问页面
https://developers.e.qq.com/oauth/authorize?client_id=<CLIENT_ID>&redirect_uri=https://www.example.com/response&state=<STATE>&scope=<SCOPE>
应答字段
无应答示例
系统跳转至 redirect_uri 对应的系统或页面,同时携带 authorization_code(有效期 5 分钟)和 state 两个参数
形如:https://www.example.com/response?authorization_code=<AUTHORIZATION_CODE>&state=<STATE>
问题仍未解决?
请前往腾讯广告反馈中心在线提交问题,我们的人工客服将为你服务
通过 Authorization Code 获取 Access Token 或刷新 Access Token
全部接口
V1.1
loading
所属权限 | Account Management,Ads Management,Ads Insights,Audience Management,User Actions |
请求地址 | https://api.e.qq.com/oauth/token |
请求方法 | get |
请求参数
标有*的参数为必填项
名称 | 类型 | 描述 |
---|---|---|
client_id*
|
integer | 应用 id,在开发者官网创建应用后获得,可通过 [应用程序管理页面] 查看 |
client_secret*
|
string | 应用 secret,在开发者官网创建应用后获得,可通过 [应用程序管理页面] 查看 字段长度最小 1 字节,长度最大 256 字节 |
grant_type*
|
string | 请求的类型,可选值:authorization_code(授权码方式获取 token)、refresh_token(刷新 token) 字段长度最小 1 字节,长度最大 64 字节 |
authorization_code
|
string | OAuth 认证 code,可通过获取 Authorization Code 接口获取,当 grant_type=authorization_code 时必填 字段长度最小 1 字节,长度最大 64 字节 |
refresh_token
|
string | 应用 refresh token,当 grant_type=refresh_token 时必填 字段长度最小 1 字节,长度最大 256 字节 |
redirect_uri
|
string | 应用回调地址,当 grant_type=authorization_code 时,redirect_uri 为必传参数,仅支持 http 和 https,不支持指定端口号,且传入的地址需要与获取 authorization_code 时,传入的回调地址保持一致 字段长度最小 1 字节,长度最大 1024 字节 |
使用说明
- OAuth 相关接口无需提供 access_token、timestamp、nonce 等通用请求参数。
请求示例
curl -G 'https://api.e.qq.com/oauth/token' \
-d 'client_id=<CLIENT_ID>' \
-d 'client_secret=<CLIENT_SECRET>' \
-d 'grant_type=refresh_token' \
-d 'refresh_token=<REFRESH_TOKEN>'
应答字段
名称 | 类型 | 描述 |
---|---|---|
authorizer_info
|
struct | 权限信息,当 grant_type=refresh_token 时不返回 |
account_uin
|
integer | 授权的推广帐号对应的 QQ 号 |
account_id
|
integer | 授权的推广帐号 id,大部分接口均需同步该字段,请妥善保存 |
scope_list
|
string[] | 权限列表,若为空,则表示拥有所属应用的所有权限 |
wechat_account_id
|
string | 授权的推广帐号对应的微信帐号 id |
account_role_type
|
enum | 授权账号身份类型,授权账号类型广告主,代理商,T1 账户,商务管家账户,[枚举详情] |
account_type
|
enum | 账号类型,[枚举详情] |
role_type
|
enum | 角色,[枚举详情] |
access_token
|
string | 应用 access token |
refresh_token
|
string | 应用 refresh token,当 grant_type=refresh_token 时不返回 |
access_token_expires_in
|
integer | access_token 过期时间,单位(秒) |
refresh_token_expires_in
|
integer | refresh_token 过期时间,单位(秒),当 grant_type=refresh_token 时不返回 |
应答示例
{
"code": 0,
"message": "",
"message_cn": "",
"data": {
"authorizer_info": {
"account_uin": 2644750491,
"account_id": 2947221,
"scope_list": [
"ads_management",
"ads_insights",
"account_management",
"audience_management",
"user_actions"
],
"wechat_account_id": "spid1234567890",
"account_role_type": "ACCOUNT_ROLE_TYPE_AGENCY"
},
"access_token": "<ACCESS_TOKEN>",
"access_token_expires_in": 86400,
"refresh_token_expires_in": 2592000
}
}
问题仍未解决?
请前往腾讯广告反馈中心在线提交问题,我们的人工客服将为你服务