ISV服务商账号
技术团队使用ISV服务商账号请求接口地址,将数据报入广告主账号(也可以说是替广告主完成数据上报,因数据的上报者和所有者账号信息不一致,需要使用更复杂的授权认证流程——比自有账号上报多 3 个步骤,预计多花费1- 2 天)。
广告投放服务商请阅读 腾讯广告开发者 - 快速入门
API 数据回传方式适用于通过接口进行全部渠道的曝光和转化行为数据回传,可以实现腾讯端和广告主端的信息互通,从而提高广告的优化效果,提高广告投放效率。
0 整体流程
1 开发前
1.1 [ISV服务商]注册成为开发者
进入注册页面。点击开发者官网右上角注册按钮即可进入;
关联 QQ 号作为开发者登录凭证。进入注册页面后,如果当前电脑已经登录 QQ 客户端,则默认显示以当前登录 QQ 号作为快捷登录,也可以点击“帐号密码登录”换用其他 QQ 号;
关联 QQ 号是开发者登录的唯一凭证,且不能进行修改。对于企业开发者,建议使用公用 QQ 帐号进行注册,并妥善保管。
1.2 [ISV服务商]创建第三方应用程序
注册成为开发者后,在开发者官网进行登陆并进入应用程序管理看板,选择创建第三方应用,则界面会显示相应的创建入口如下图:
点击“创建新应用”进入创建应用程序界面,填写应用名称、应用介绍信息等。其中,权限情况选择”数据上报“。
提交后,应用状态变为”审核中“(如需加急请右下角点击【反馈工单】)。
审核完毕,状态变为”应用中“。
1.3 [ISV服务商]获得[广告主]提供接口及上报行为清单
2 开发中
ISV 服务商需获得对应广告主账号的 access_token 和 refresh_token,以帮助广告主完成数据上报,其中:
access_token 是 ISV 服务商 调用接口时,操作指定广告主账号的身份凭证,默认有效期24小时。可以通过开发者应用管理页面,修改该 token 的有效时长
refresh_token 是用于刷新 access_token 的凭证,用于向系统获取新的 access_token(具体操作方法见后文),默认有效期 30 自然日,每次刷新 access_token 的操作可自动刷新 refresh_token 有效期的起始计算时间
大量使用错误的 token 操作账号的行为可能导致开发者的 IP 被封停,请关注并监控错误信息
Marketing API的 OAuth 2.0 遵循业界通用的规范和流程,完成 OAuth 2.0 认证(当前只支持 server-side 模式)。
2.1 [ISV服务商]生成 OAuth 2.0 登录页面
调用 OAuth 2.0 授权页面的URL形如:https://developers.e.qq.com/oauth/authorize?client_id=123456&redirect_uri=https%3a%2f%2fwww.example.com%3fpara1%3da%26para2%3db&state=&scope=ads_management&account_type=ACCOUNT_TYPE_QQ
。其中:
- client_id:开发者创建的应用程序的唯一标识 id,必填,可通过应用程序管理页面查看;
- redirect_uri:回调地址,由开发者自行提供和定义(地址主域需与开发者创建应用程序时登记的回调主域一致),用于跳转并接收回调信息,必填,该字段需要做 UrlEncode ,确保后续跳转正常;
- state:开发者自定义参数,可用于验证请求有效性或者传递其他自定义信息,回调的时候会原样带回,可选;
- scope:授权的能力范围,可选,不传时表示授权范围为当前应用程序所拥有的所有全部权限;
- account_type:授权用的账号类型,可选,包括 QQ 号和微信号,不传时默认为 QQ 号
2.2 [广告主]进入 OAuth 2.0 登录页面
获得上述页面,打开一个浏览器一新页面,复制粘贴 + ENTER 进入 OAuth 2.0 登录界面,点击【登录】
2.3 [广告主]操作同意授权
选择可供该服务商上报数据的广告主账号,勾选”数据上报”,点击【同意授权】。
2.4 [广告主]提供授权码
浏览器新开页面,完整复制地址框中的 url,尽快提供给 ISV 服务商(有效期 5 分钟)。
2.5 [ISV服务商]获得授权码
使用 authorization_code 获得 access_token 和 refresh_token。用 authorization_code 获得 access_token 和 refresh_token 的接口地址为https://api.e.qq.com/oauth/token ,接口输入参数如下表所示:
请求参数
字段名 | 类型 | 描述 |
---|---|---|
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 字节 |
请求示例
curl -G 'https://api.e.qq.com/oauth/token' \
-d 'client_id=<CLIENT_ID>' \
-d 'client_secret=<CLIENT_SECRET>' \
-d 'grant_type=authorization_code' \
-d 'authorization_code=<AUTHORIZATION_CODE>' \
-d 'redirect_uri=https://www.example.com'
返回示例
{
code: 0,
message: ,
data: {
access_token: 228bd56b7ee039540953352f766b40d31651487e,
refresh_token: 854e744a1f4c6fc20f498e366b9aabd2c4b971fd,
access_token_expires_in: 86400,
refresh_token_expires_in: 2592000
}
}
获得 access_token 后,ISV 服务商 可用此调用接口对相关的推广帐号进行操作,如果发起 Marketing API 请求可通过发起请求章节进行了解。
值得注意的是,一旦 access_token 失效,将无法调用接口。access_token 和 refresh_token 的有效期可以通过 oauth/token 接口的返回字段获取,默认情况下 access_token 和 refresh_token 的有效期如下:
- access_token默认有效期为 24 小时
- refresh_token默认有效期为 30 天
2.6 [ISV服务商]刷新 access_token
在 refresh_token 有效期内,可使用 refresh_token 通过 auth/token 接口刷新 access_token。请求示意如下:
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>'
特别注意,每次刷新 access_token 时, refresh_token 会自动续期。
2.7 [ISV服务商]刷新 refresh_token
如果 refresh_token 失效,需要重新通过 OAuth 2.0 获得新的 access_token 和 refresh_token 。
关于 OAuth 2.0 相关接口说明,可以参考接口清单中的 OAuth 相关接口。
2.8 [ISV服务商]创建 or 获得已有数据源
使用 数据源添加 接口创建数据源,或 数据源获取 获取已有数据源。
2.9 [广告主]开启数据源分发开关
前往 资产分发 ,对此次数据上报的数据源,按“应用场景”操作分发开关的开启。
请在数据上报前完成打开分发开关。若分发开关关闭,数据将无法分发给指定应用场景。
2.10 [ISV服务商]按照 1.3 完成开发
查看 API 数据上报开发指引。
FAQ
Q:开发者官网的应用程序与推广的应用程序有什么关系?
A:开发者官网的应用程序是指基于 Marketing API 开发的应用,比如管理广告的投放平台、广告数据分析工具、自动化营销的脚本等等,而推广的应用程序是指广告主推广的目标应用。两者之前并无任何关联。
ISV 服务商需要为多个应用上报行为数据,需要分别创建应用程序么?
A:不需要。ISV 服务商可以只创建一个应用程序,并申请数据上报的权限即可。一个应用可以获得多个推广帐号的授权,从而帮多个推广帐号上报数据。
Q:应用程序审核通过后,是否就可以操作推广帐号了?
A:应用程序的审核是指给应用程序分配相应的接口权限,但是应用程序能操作哪些推广帐号,需要通过OAuth 2.0向指定的推广帐号发起授权申请,当指定的推广帐号同意授权后,应用程序即可调用接口对该帐号进行操作。
Q:非”数据上报(User Actions)“的接口获取 access_token 遇到问题,该如何处理?
A:可点击右下角的【反馈工单】寻求技术答疑支持。