如何获取腾讯广告开放平台访问密钥分步指南
在当今数字化转型的洪流中,腾讯广告开放平台以其强大的广告投放与数据管理能力,成为了众多企业与开发者提升市场竞争力的重要工具。为了助力广大用户更加高效、便捷地利用这一平台资源,本文将详细介绍如何获取腾讯广告开放平台的访问密钥。通过一系列精心设计的步骤,我们旨在为用户提供一个清晰明了、易于操作的指南。一旦成功获取访问密钥,您将能够全面解锁腾讯广告开放平台的各项功能,无论是精准广告投放、数据监测还是广告效果优化,都将变得得心应手。因此,掌握获取访问密钥的方法,无疑是您在数字营销领域取得突破的关键一步。
1. 注册成为开发者
Step 1:进入注册页面。点击开发者官网右上角注册按钮即可进入;
Step 2:关联QQ号作为开发者登录凭证。进入注册页面后,如果当前电脑已经登录QQ客户端,则默认显示以当前登录QQ号作为快捷登录,您也可以点击“帐号密码登录”换用其他QQ号;
Tips:
- 关联QQ号是开发者登录的唯一凭证,且不能进行修改。对于企业开发者,建议使用公用QQ帐号进行注册,并妥善保管。
- 如果您已经是腾讯广告的客户(代理商或广告主),建议您直接用代理商帐号或广告主帐号的开户QQ进行注册。
Step 3:完善开发者资料。将资料填写完整并通过手机验证码验证通过后,即完成开发者注册。
2. 创建应用程序
Step1: 注册成为开发者后,在开发者官网进行登陆并进入应用程序管理看板,可选择创建私有应用或第三方应用(私有应用的前置条件是您的开发者注册QQ账号同时为代理商、广告主、商务管家等身份的开户QQ),则界面会显示相应的创建入口如下图:
Step 2:点击“创建新应用”进入创建应用程序界面,填写应用名称、应用介绍信息等。请注意,私有应用需要填写的内容比第三方应用少,但仅可管理该QQ号对应的广告账号。
2.单击+新建应用程序以创建新应用程序。
- 应用图标:360 x 360 px 的应用图标。
- 显示在OAuth 2.0 授权页面中,作为推广客户(服务商/广告主)识别应用的标识
- 应用名称:应用程序的名称,多个应用程序不允许重名。
- 显示在OAuth 2.0 授权页面中,作为推广客户(服务商/广告主)识别应用的标识
- 应用介绍:介绍您的应用程序希望基于Marketing API实现的功能及您需要功能通过审核的原因。
- 回调地址将用于OAuth 2.0授权完成后的跳转及信息返回到您指定地址,供您获取相关返回信息,详情可参考发起请求。
- Access Token有效期:该应用下access token的有效时长,默认为24小时
- Refresh Token有效期:该应用下refresh token的有效时长,默认为30天,refresh token有效期需大于access token。
- 注:access token 和 refresh token详细介绍见授权认证。
Step 3:您可根据使用需要选择对应的权限组分类,权限组分类的详细介绍可通过权限等级进一步了解 – 创建后,私有应用自动审核通过,您可以立即开始相关能力的搭建。第三方应用则会在2-3个工作日内进行审核。
- 如您的应用还未开发完成,建议先使用沙箱环境进行调试。
- 第三方应用的开发者可根据获取到的应用程序id(client_id)及client_secret,以此发起OAuth 2.0 授权获得指定推广帐号的操作权限,详情参考授权认证。
3. 获取API密钥
Token是在Marketing API操作指定账号的身份凭证,当您需要操作特定广告账号时,您需要使用该广告账号对您的开发者应用进行授权,以获取access_token和refresh_token,所有接口均通过请求参数中传递的 access_token(授权令牌)来进行身份认证和鉴权,系统会在校验 access_token有效、接口调用配额未用完、接口调用频次未超限3个条件符合后接受此次请求进行具体业务处理并做出响应。
Marketing API目前支持代理商/商务管家/广告主等账号类型进行授权鉴权。
本节将为您介绍如何进行 Marketing API 的授权认证 。
该环节您可以获取指定账号的access_token和refresh_token,其中:
- access_token是您调用接口时,操作指定广告账号的身份凭证,默认有效期24小时。您可以通过开发者应用管理页面,修改该token的有效时长
- refresh_token是用于刷新access_token的凭证,用于向系统获取新的access_token(具体操作方法见后文),默认有效期30自然日,每次刷新access_token的操作可自动刷新refresh_token有效期的起始计算时间
- 大量使用错误的token操作账号的行为可能导致您的IP被封停,请您关注并监控错误信息
进入应用详情界面
1. 首先选择您要操作的账户身份:如广告主、服务商、商务管家、T1等(因同一个QQ可以同时具有多个身份,不同的身份的token是不同的)。
2. 点击“获取或重置”即可获取或者重置您的token
- token信息获取时仅展示一次,请妥善保存
- token生成后10分钟后生效
- 重置token,该身份下在该应用上的旧 refresh_token 和 access_token 会立即失效
客户需要通过您的应用进行推广操作时,您的应用需要先引导客户完成至少一次 OAuth 2.0 认证操作,以便获得调用接口操作的客户的推广帐号所必须的 access_token 。Marketing API的 OAuth 2.0 遵循业界通用的规范和流程,完成 OAuth 2.0 认证(当前只支持 server-side 模式)需要完成以下步骤:
- A、引导客户进入 OAuth 2.0 登录界面;
- B、客户用推广帐号登录;
- C、登录成功并确认授权后广点通向您的应用程序返回一个授权码(Authorization Code);
- D、应用程序调用接口用授权码(Authorization Code)获得 access_token,同时获得一个用于刷新 access_token 的 refresh_token;
- E、在 access_token 过期后,使用 refresh_token 获得新的 access_token(可选)。
详细描述如下:
Step 1:引导客户完成OAuth 2.0认证获得authorization_code,获得 authorization_code 需要引导客户完成 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号
- OAuth 2.0 授权页面如下图所示:
- 其中页面右侧为应用程序信息,左侧为请求授权的帐号信息,客户可以切换选择是用QQ号还是用微信号,推荐开发者直接在引导客户进入授权页时通过account_type指定要授权的账号类型。
- 右侧显示的是应用程序的logo、名称、以及可授权的权限组分类。
- 其中logo、名称是创建应用程序时开发者自行上传的信息,可授权的权限组分类是根据开发者调用oauth/authorize接口同步的scope生成的权限组信息;
- 授权客户可通过列表选择授权给开发者的操作权限。
- 左侧是提供给授权客户进行身份验证的入口。如客户同意授权,需要登录其对应的QQ帐号或者用微信号扫码,并点击同意授权。登录后,页面将会显示请求授权的账号信息。不同类型的帐号在同意授权后,应用可操作的推广帐号不同,具体规则如下:
账户分类 | 支持角色 | 可管理的账户范围 |
---|---|---|
商务管家账号 | 超级管理员(开户qq/微信) | 该商务管家及其认领的所有账户 |
代理商主体账号 | 代理商超级管理员(开户qq/微信) | 当前代理商主体下所有代理商和所有代理子客户 |
代理商帐号 | 代理商超级管理员(开户qq/微信) | 当前代理商及所有代理子客户 |
代理商帐号 | 代理商管理员/子账号管理员/运营人员 | 该员工有权管理的所有代理商子客 |
代理商帐号 | 广告主员工(自理投放管理员) | 该员工有权管理的所有代理商子客 |
直客广告主账号 | 超级管理员(开户qq/微信) | 该广告主账户 |
- 当引导客户在上述登录界面完成登录身份验证后,系统会携带 authorization_code(有效期5分钟)和state两个参数在浏览器端发出GET请求,形如:http://www.example.com/response?authorization_code=6a6b6c6d&state=112233
- 当上述请求完成或请求链接超出3秒时,系统会自动跳转到刚才定义的回调地址中。您的应用程序在收到上述返回后,应当在 authorization_code 有效期内,利用 authorization_code 获得 access_token(详见下一步),并在跳转后的页面对客户给出相应的提示或跳转指引。
Step 2:使用 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 后,您可用此调用接口对相关的推广帐号进行操作,如果发起Marketing API请求可通过发起请求章节进行了解。
值得注意的是,一旦 access_token 失效,您将无法调用接口。access_token 和 refresh_token 的有效期可以通过 oauth/token 接口的返回字段获取,默认情况下 access_token 和 refresh_token 的有效期如下:
- access_token默认有效期为24小时
- refresh_token默认有效期为30天
4. 请求示例
API请求中需要提供必要的通用参数、每个接口要求的参数,并声明正确的编码方式。以curl发起请求获取和创建一个推广计划为例。 获取一个推广计划:
curl 'https://api.e.qq.com/v1.1/campaigns/get?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-d 'account_id=51959'
-d 'fields=[campaign_id,campaign_name,campaign_type, daily_budget]'
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=utf-8
<
{
code:0,
message:,
data:
{
list:[
{
campaign_id:12345,
campaign_name:推广计划1,
campaign_type:CAMPAIGN_TYPE_NORMAL,
daily_budget:1000000
},
{
campaign_id:12346,
campaign_name:推广计划2,
campaign_type:CAMPAIGN_TYPE_NORMAL,
daily_budget:10000
},
page_info:{
page:1,
page_size:2,
total_number:2,
total_page:1
}
}
}
创建一个推广计划:
curl 'https://api.e.qq.com/v1.1/campaigns/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
account_id: 51959,
campaign_name: test,
campaign_type: CAMPAIGN_TYPE_NORMAL,
daily_budget: 10000,
promoted_object_type,PROMOTED_OBJECT_TYPE_APP_IOS
}'
* Connected to api.e.qq.com (10.10.10.10) port 443 (#0)
> POST / HTTP/1.1
> User-Agent: curl/7.41.0
> Host: api.e.qq.com
> Content-Type: application/json
> Content-Length: 64
* upload completely sent off: 64 out of 64 bytes
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=utf-8
<
{
code:0,
message:,
data:
{
campaign_id:23456
}
}
5. 常见问题
Q:如何找到腾讯广告开放平台
A:幂简集成是国内领先的API集成管理平台,专注于为开发者提供全面、高效、易用的API集成解决方案。幂简API平台可以通过以下两种方式找到所需API:通过关键词搜索API(例如,输入’腾讯广告开放平台‘这类品类词,更容易找到结果)、或者从API hub分类页进入寻找。
Q:开发者官网的应用程序与推广的应用程序有什么关系?
A:开发者官网的应用程序是指基于Marketing API开发的应用,比如管理广告的投放平台、广告数据分析工具、自动化营销的脚本等等,而推广的应用程序是指广告主推广的目标应用。两者之前并无任何关联。
Q:我需要为多个应用上报行为数据,需要分别创建应用程序么?
A:不需要。您只需创建一个应用程序,并申请数据上报的权限即可。一个应用可以获得多个推广帐号的授权,从而帮多个推广帐号上报数据。
Q:应用程序审核通过后,是否就可以操作推广帐号了?
A:应用程序的审核是指给应用程序分配相应的接口权限,但是应用程序能操作哪些推广帐号,需要通过OAuth 2.0向指定的推广帐号发起授权申请,当指定的推广帐号同意授权后,应用程序即可调用接口对该帐号进行操作。
Q:点击“同意授权”后报错5014,提示“当前登录的帐号无可授权的广告主身份”?
A:代理商、直客、商务管家账户需要使用开户QQ登录授权;代理商子客,需要有自理类管理员权限的QQ号登录授权。
Q:开发者应用权限配置后,为什么接口调用依然报错无权限?
A:作为开发者,您虽然已经拥有了权限,但是还需要广告主给您授予相应的操作广告主的权限,权限变更后,请重新操作授权认证流程,具体参考快速入门
除了腾讯广告开放平台,还有其他替代服务商也提供类似api服务,例如:
Sleazy Fork API开放平台、Android-Hilfe API开放平台、Art19 API开放平台
更多竞品可以在幂简集成开放平台中找到。
Q:腾讯广告开放平台这个密钥还适用于哪些api?
添加腾讯广告服务商子客、查询腾讯广告广告主信息、获取广告主资质
6. 总结
本文提供了一份详尽且实用的“如何获取腾讯广告开放平台访问密钥分步指南”,旨在帮助开发者们轻松掌握获取访问密钥的全过程。从注册腾讯广告开放平台账号,到完成开发者身份认证,再到最终成功获取访问密钥,每一步操作都配以详尽的说明和指导,确保开发者能够顺利、准确地完成流程。在获取密钥后,本文还强调了进行可用性测试的重要性,以确保腾讯广告开放平台的各项功能能够顺利集成到应用中,并发挥最佳效果。这不仅有助于提升应用的性能和用户体验,还能确保开发者在数字营销领域取得更大的成功。本文为开发者们提供了一个全面、详尽且实用的指南,旨在帮助他们顺利获取腾讯广告开放平台的访问密钥,并有效利用这一平台资源,为项目或应用提供强大的数据支持,从而在激烈的市场竞争中脱颖而出。