微博广告之友
行业信息

微博广告投放Oauth2.0授权

发表时间:2023-10-11 17:55

微博广告投放Oauth2.0授权


为您创建的应用授权

微博广告开放平台的认证是基于 RFC6749实现的. 目前只实现Authorization Code Grant,获取访问令牌(token)的工作流如下:


微博广告投放



微博广告投放有几点特殊事项需要客户方技术人员注意:

1、同一个广告主账号支持反复授权,再次授权后会更新code(code授权码有效期10分钟,且只可使用一次);

2、授权成功支持跳转回调地址,code会以此方式回传,接收方式为get请求,并且您可以通过state原样获取你的参数,这样可以处理您自己的逻辑;

3、通过code可以生成新的access_token和refresh_token,access_token的时效是一小时、refresh_token是7天90天不同两种级别,默认有效期90天,refresh_token可以刷新access_token,刷新后老access_token将不可使用。


第一步:获取Authorization Code


请求地址:

GET https://api.biz.weibo.com/oauth/authorize


请求参数:

微博广告投放


拼贴授权code示例:

https://api.biz.weibo.com/oauth/authorize?client_id=APP_ID&redirect_uri={您的回调地址}&response_type=code&state=xyz&scope=ads_read


此时粘贴进浏览器中会出现授权页面,如下图,请选择相关权限后点击【授权按钮】:

请注意:此时网页上登陆的账号才是你获取的token对应的账号,请再三检查此页面,当前登陆的是否为想要获取token的账号


微博广告投放


此时如果你不使用投放相关API,请勾选只读+查看权限,不要勾选投放,因为那样会进入沙箱报错;

如果你想使用投放功能相关API请勾选3个,并将clientid告知你的销售,让他帮你开通投放功能并且不进入沙箱;


授予权限成功后, 请求会被重定向到之前传的redirect_url, 连同 code 参数和state参数 {您的回调地址}?code=8350c34e53e20ad4ea2457530bb07561559600131f1c495e6b3567810bb3&state=xyz
此时你的服务器端能拿到code,进而执行第二步,code 10分钟后会过时,每个code换取access_token后程序也会将其设置过期,每个code只能换取一次access_token。



第二步:创建access_token令牌


请求地址:

GET https://api.biz.weibo.com/oauth/token


请求参数:

微博广告投放


例子:https://api.biz.weibo.com/oauth/tokenclient_id=APP_ID&grant_type=authorization_code& redirect_uri=http%3A%2F%2Ftestclient1.ads.uve.pw%2Findex.php&code=bd699ae9a8e1ead13fd47b9b

如果成功会返回

{   
     "access_token": "0879b561ce852525f17a58f3fc6b136446c86a3ae9bb179d323fbd269678be704e82b54dbd1502cf192a2b7c5f34f98327c1b2341584872de1c7d681ffcd1ad2",     
     "expires_in": 3599,     
     "refresh_token": "6b2b27d43c704170cb6495a0c1b19452704f6aafaa8c228ddbfb9ea3a231b5ad034fb0cfc6e8fb3fee4a8e0ba1e4ace0bfab2ed8464d125ebf37ecc20441ec83",     
     "refresh_expires_in": 604800,
     "token_type": "Bearer"
     
}


其中access_token过期时间为1个小时,access_token过期后你需要让用户重新授权或者用下面的通过refresh token换取access token的方式获取新的access_token。refresh_token的过期时间默认90天,具体配置在我们的后台控制。

注意:refresh_token目前没有续期机制,到期【必须】需要客户重新授权来获得新的refresh_token。 原因是我们的广告投放的特殊性,

定期重新授权也是出于对您利益的考虑。微博目前无放开限制的考虑,其他竞品策略也暂不参考。


举例请求API接口:

当你获取到了access token后, 就可以通过token调用去任意API接口了,可以通过Authorization 头部传递token。

下面是一个获取用户广告账号信息的请求例子:


curl -XGET \     
    -H "Authorization: Bearer {ACCESS_TOKEN}" \     
    -H "Accept: application/json,application/text+gw2.0" \     
    "https://api.biz.weibo.com/account"



第三步:刷新access_token令牌

当使用一小时后,您的access会过期无效,使用refresh_token可以刷新access_token,用来替换即将到期的access_token,刷新后老access_token将不可使用。

注意 使用refresh token获取请不要使用多线程或者避免并发操作,否则会有几率出现问题。


请求地址:

GET https://api.biz.weibo.com/oauth/token


请求参数:

微博广告投放


例子:https://api.biz.weibo.com/oauth/tokenclient_id=APP_ID&grant_type=refresh_token&refresh_token= 7141183a7c563e773ab2ae316c262c1b9bd4024c2821dafdfa6eb53b8127b7fa3abe0abe2926e91ed970a6cfcfe74163460fed79013b

返回:

{     
        "access_token": "d21ea15dc4fc595328b9776044d230c6b0d55a028be6778e43791e5000670de1991aa75baef8e8c8d06aa8a179990c6dee1615f5cf631f453069ba42f5daa17b",
        "expires_in": 3599,     
        "token_type": "Bearer"
}



微博广告投放频控限制

我们针对每一个开发者应用都设置了四个不同等级的调用频次限制,包括了Token天数、分钟频次、小时频次、天数频次:

微博广告投放



微博广告投放频次通用规则:

微博广告投放


提示:

目前只读账号默认会自动接入【LEVEL_3级别】的频次控制;如果需要接入其他级别控制,请联系对应渠道销售人员。



广告投放
 
 

16602743659

微博渠道活码.png

免费开户中


需求提交>>