快速入门
术语介绍
术语 |
中文名 |
详细描述 |
HUAWEI Ads |
华为广告推广服务 |
/ |
客户端 ID |
HUAWEI ADS Marketing API 客户端 ID |
HUAWEI ADS Marketing API 客户端是指 通过 HUAWEI ADS Marketing API 获取数 据的软件系统。 |
秘钥 |
客户端密钥 |
每一个客户端对应的密钥(用于后面获取 access_token)。 |
scope |
授权作用域 |
用户授予的权限列表 |
redirect_uri |
回调 uri |
授权后要回调的 URI,即接收 Authorization Code 或者 token 后的跳转 url |
access_token |
授权令牌 |
使用/oauth2/v2/token 接口会同时获得 access_token 。access_token 是调用 API 接 口的调用凭证,用于服务端对 API 请求鉴 权,默认有效期为 1 时,一旦 access_token 失效,则需要重新获取。 |
功能全景图
开户、实名认证、行业资质请到华为广告投放平台操作。
推广和报表接口通过 Marketing API 对外开放, 在使用过程中,依赖的一些接口尚未对外开放,需要到华为投放平台上创建后才可以在 Marketing API 使用。
分类 |
子分类 |
接口 |
Marketing API 是否支持 |
广告投放 |
计划 |
创建计划 /v2/promotion/campaign/create |
是 |
查询计划 /v2/promotion/campaign/query |
是 |
||
编辑计划状态 /v2/promotion/campaign/status/update |
是 |
||
编辑计划名称 /v2/promotion/campaign/name/update |
是 |
||
编辑计划日限额 /v2/promotion/campaign/daily_budget/ update |
是 |
||
任务 |
创建任务 /v2/promotion/adgroup/create |
是 |
|
查询任务 /v2/promotion/adgroup/query |
是 |
||
编辑任务 /v2/promotion/adgroup/update |
是 |
||
编辑任务状态 /v2/promotion/adgroup/status/update |
是 |
||
编辑任务投放日期 /v2/promotion/adgroup/time/update |
是 |
编辑任务时间段 /v2/promotion/adgroup/period/update |
是 |
||
编辑任务出价 /v2/promotion/adgroup/price/update |
是 |
||
编辑任务名称 /v2/promotion/adgroup/name/update |
是 |
||
编辑任务期望出价(oCPC) /v2/promotion/adgroup/conversion_cos t/update |
是 |
||
查询应用详情 /v2/promotion/adgroup/app_detail/quer y |
是 |
||
查询定向字典 /v2/promotion/adgroup/targeting_rule/ query |
是 |
||
查询关联的定向包详情 /v2/promotion/adgroup/targeting_pack age/query |
是 |
||
创意 |
创建创意 /v2/promotion/creative/create |
是 |
|
查询创意 /v2/promotion/creative/query |
是 |
||
编辑创意 /v2/promotion/creative/update |
是 |
||
编辑创意状态 /v2/promotion/creative/status/update |
是 |
||
编辑创意名称 /v2/promotion/creative/name/update |
是 |
||
推广产品 |
创建推广产品 /v2/promotion/product/create |
是 |
|
查询推广产品 /v2/promotion/product/detail/query |
是 |
||
编辑推广产品 /v2/promotion/product/update |
是 |
||
工具箱 |
版位 |
查询版位 /v2/tools/position/query |
是 |
查询版位元素 /v2/tools/position/detail/query |
是 |
||
维纳斯落地 页 |
查询落地页 /v2/tools/venus/active_page/query |
是 |
|
落地页增、删、改 |
否 |
||
渠道包 |
查询渠道包 /v2/tools/channel_package/active_pack age/query |
是 |
|
渠道包增、删、改 |
否 |
||
素材管理 |
创建素材 /v2/tools/creative_asset/create |
是 |
|
查询素材 /v2/tools/creative_asset/query |
是 |
||
编辑素材名称 /v2/tools/creative_asset/name/update |
是 |
||
获取文件上传凭证 /v2/tools/file/token/query |
是 |
||
删除素材 /v2/tools/creative_asset/delete |
是 |
||
定向模板 |
创建定向模板 /v2/tools/targeting_template/create |
是 |
|
查询定向模板 /v2/tools/targeting_template/query |
是 |
||
定向模板改、删 |
否 |
||
转化跟踪指标 |
查询转化跟踪指标 /v2/tools/effect_tracking/query |
是 |
|
转化跟踪指标增、删、改 |
否 |
刷新 access_token
用 Refrest Token 来获取新的 Access Token。建议在 Access Token 即将过期的时候调 用。
调用业务接口,如果返回的 code 为如下内容:
=================================================================== ======================================
{
"code": "1000009992",
"message": "token 已过期"
}
=================================================================== ======================================
请调用刷新 access_token 接口,重新获取一次 access_token,如果仍然失败,将用户登 出,引导用户重新登录。
请求消息
客户端:广告主服务器
服务端: Huawei 帐号服务器
请求协议: HTTPS
请求方式: POST
接口 URL:https://login.cloud.huawei.com/oauth2/v2/token
请求参数
参数名称 |
类型 |
是否必选 |
描述 |
grant_type |
string |
是 |
RT 换 AT 场景,固定填: refresh_token |
refresh_token |
string |
是 |
在授权码模式下获取到 refresh_token 值 |
client_id |
int |
是 |
必须和调用/oauth2/v2/authorize 接口时 传递的 client_id 一样 |
client_secret |
string |
是 |
Appid 的密钥,在开发者联盟上查看 |
请求示例
===================================================================
======================================
POST /oauth2/v2/token HTTP/1. 1
Host: login.cloud.huawei.com
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&client_id=12345&client_secret=bKaZ*************d2k9few&r efresh_token=CF2Mm03n0aos9iZZ8nIhfyDtoXy74CXeBi50gVVhMpB0IUzlv9ZwizEvTBh VoF820ZPim0JwNR9j2p1qgEQWnIVYZRlp******gekUnsHBkvNev5rd2MdfQMLP
=================================================================== ======================================
响应参数
参数名称 |
类型 |
是否必选 |
描述 |
access_token |
string |
是 |
Access Token。注意在使用的时候要去 掉\这个转义字符。 |
expires_in |
integer |
是 |
Access Token 的有效期,以秒为单位 |
refresh_token |
string |
是 |
用于刷新 Access Token 的 Refresh Token,有效期半年(OAuth 可能会调整 这个配置) 。 如果在服务器配置了返回 RT,则服务器 一定会返回该字段。返回的值可能是一 个新的 refresh_token,新的 refresh_token 的有效期仍为半年; 也可能和入参的 refresh_token 一样。 |
scope |
string |
是 |
Access Token 最终的访问范围,即用户 实际授予的权限列表(用户在授权页面 时,有可能会取消掉某些请求的权限) |
成功响应消息样例:
=================================================================== ======================================
HTTP/1. 1 200 OK
Content-Type: text/html;charset=UTF-8
Cache-Control: no-store
{"access_token":
"CFyJ4J\/l6wuwcFqYOJG4maq2ca8RAV+g0i+mel6qCV5lvqH0PYtW0+BNwfHWg0AqMn W6ZdBvUgs7ijkxMFh1xVP\/B+vQXz3PWsivkKCuL78XtbLt7vs=", "expires_in": 3600, "scope": "https:\/\/www.huawei.com\/auth\/account\/base.profile", "token_type": "Bearer"}
===================================================================
======================================
注意:
json 字符串中存在转义符。如果用 curl 命令或者 postman 工具手工获取
access_token,把“\/”还原为“/”才是正确的 access_token,否则在使用 access_token 的过程中会报 access_token 非法。如果是写代码,采用任意的第三方 库,都能正确解析 json 串, 获取到正确的值
关于 access_token 和 refresh_token 的长度:这两个字段的长度跟其中编码的内容多
少有关系, 按目前的编码格式,其长度不会超过 1000
失败响应消息样例
=================================================================== ====================================
HTTP/1. 1 400 Bad Request
Content-Type: text/html;charset=UTF-8
{"error":1203,"sub_error":31204,"error_description":"unknown error"}
=================================================================== ======================================
失败返回错误码
子错误码 sub_error |
错误码含义 |
调用方处理方式(建议) |
20001 |
client_id 为空 |
(1)这些子错误码属于参 数错误,不要重试调用, 重试了也不会成功。 (2)参数错误一般在调试 阶段或者上线初期出现。 若遇到,建议业务方排查 代码或配置项,不要轻易 将客户端登录态踢下线。 |
20002 |
client_id 格式不对 |
|
20171 |
client_secret 为空 |
|
20172 |
client_secret 格式不对 |
|
20174 |
grant_type=refresh_token (RT 换 AT), client_secret 为临时密码(端侧调用场 景), client_secret 无法解析 |
|
20175 |
grant_type=refresh_token (RT 换 AT) , client_secret 为临时密码(端侧调用场 景), client_secret 信息和 RT 信息不一致 或者过期。 |
|
20181 |
grant_type 为空 |
|
20182 |
grant_type 不在"authorization_code", "client_credentials", "refresh_token"中 |
|
12303 |
client_secret 非临时密码(非端侧调用场 景) ,client_id 在系统不存在 |
|
12304 |
client_secret 非临时密码(非端侧调用场 景) ,client_secret 不对 |
|
20191 |
grant_type=refresh_token (RT 换 AT), refresh_token 为空 |
|
20192 |
grant_type=refresh_token (RT 换 AT), refresh_token 格式不对 |
|
20154 |
grant_type=refresh_token (RT 换 AT) , refresh_token 中的 client_id 和入参不一致 |
|
31218 |
grant_type=refresh_token (RT 换 AT), refresh_token 不满足正则表达式 |
31202 |
grant_type=refresh_token (RT 换 AT) , refresh_token 解不开。 RT 满足了正则表达 式校验,但是实际无法被解析。举例: 原 RT 被截断了或者被编码转换了 |
|
11205 |
grant_type=refresh_token (RT 换 AT), refresh_token 过期 |
业务需要提示用户重新授 权 |
31204 |
grant_type=refresh_token (RT 换 AT), refresh_token 在黑名单中(用户修改密码 或者登出操作, 会使之前的 RT 被加入黑名单) |
|
其他错误 联系华为 支持人员 |
其他错误, 包括内部组件之间网络不通等 错误。 |
(1)建议进行重试调用, 可能会成功 (2)除了上面的子错误 码,其他子错误码都算到 这个分支里 (3)建议把子错误码打印 出来,有助于定位问题 |
获取用户信息
登录成功后,需要在界面展示用户的基本信息, 可以通过调用此接口查询华为帐号信 息并展示在界面上。
请求示例
=================================================================== ======================================
POST /rest.php HTTP/1. 1
Host: account.cloud.huawei.com
Content-Type: application/x-www-form-urlencoded
nsp_svc=GOpen.User.getInfo&access_token=CV7GpkaEz8wYeXW2%2fra%2fJ5%2bjn5H9 Y%2ftaxWLHl5ijevHMr4NzNnTIfkD6El9u******YYT6KN02YhMenGQ2%2f2y7vYJ8Xd 9D94xC2ztKK%2bI%2bfjl1TEfFMNDf3kacE%3d&getNickName=1
=================================================================== =======================================
将红色部分替换成获取到的 access_token
响应样例
=================================================================== =======================================HTTP/1. 1 200 OK
Content-Type: text/html;charset=UTF-8
Cache-Control: no-store
{"displayName":"137******38","openID":"MDFAMTAzODA3NDJANWNiaYTZiaZWNk YTcxOWFlY2E4N2M3ZDZmMDJkMGM4MGRAMjBjZWNlN2YyMGFmZGIxZWRmOT g3MDI2Nzk1OGEyY2IwMmE0MjAwYjA1ZGY3ZGUxNmJjN2Qw","headPictureURL":"ht tps://upfile-
drcn.platform.hicloud.com/FileServer/image/b.0610086200300000245.20200521231532.Pwh gOVhUxTCLzd8vfvjVKnx9bmWtlUBG. 1000.66140D63E80FF9D81F381F49462E30FF90C 37B86EDD06CCAFF19CFC3C3C98921.png"}

评论列表