入门与指南专题介绍帐号管理营销资产广告管理数据洞察人群管理数据接入接口清单
授权认证 帐号管理 营销资产 广告管理 数据洞察 辅助工具 用户行为数据 用户人群数据 用户标签数据 用户属性数据
附录

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

https://developers.e.qq.com/oauth/authorize

GET

*为必填项
名称 类型 描述
client_id*
integer 应用 id,在开发者官网创建应用后获得,可通过 [应用程序管理页面] 查看
redirect_uri*
string 应用回调地址,仅支持 http 和 https,不支持指定端口号,且主域名必须与创建应用时登记的回调域名一致,若地址携带参数,需要对地址进行 urlencode
字段长度最小 1 字节,长度最大 1024 字节
state
string 验证请求有效性参数,值为用户自取,用于阻止跨站请求伪造攻击
字段长度最小 0 字节,长度最大 64 字节
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&state=<STATE>&scope=<SCOPE>

名称 类型 描述
redirect_uri
string 应用回调地址,仅支持 http 和 https,不支持指定端口号,且主域名必须与创建应用时登记的回调域名一致,若地址携带参数,需要对地址进行 urlencode
location_uri
string 应用回调地址,仅支持 http 和 https,不支持指定端口号,且主域名必须与创建应用时登记的回调域名一致,若地址携带参数,需要对地址进行 urlencode
系统跳转至 redirect_uri 对应的系统或页面,同时携带 authorization_code(有效期 5 分钟)和 state 两个参数
形如:http://www.example.com/response?authorization_code=<AUTHORIZATION_CODE>&state=<STATE>


通过 Authorization Code 获取 Access Token 或刷新 Access Token

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 账户,商务管家账户,[枚举详情]
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": "",
    "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
    }
}