Azure

作者: Dxes | 来源:发表于2024-06-23 15:26 被阅读0次

    教程介绍

    本节将介绍微软广告的应用注册和验证,微软广告应用的注册在微软云完成,通过获取令牌、调用API来验证应用是否正确注册和配置

    整个过程会涉及三类账号/角色

    1. 应用注册。服务商或广告主在微软云(Azure)注册微软App
    2. 令牌获取。对于希望访问的账号,使用其进行OAuth授权
    3. 调用API。开发者使用访问令牌和开发者令牌调用API

    注意,上述步骤都要求有微软账号,但取决于具体的使用场景,这些账号可以不同也可以相同,并没有强制要求。

    对于工具型或平台型App,这三者往往不同。这里类比一下微信的点单小程序,第一个账号表示的是App所有者的账号(类比为店家),第二个账号表示的是实际用来打广告的账号(类比为点单的客户),第三个表示的是使用这个App的开发者(类比为店家聘请的小程序开发者)

    但大多数App实际不会提供给第三方使用,例如内部工具开发或CRM集成,所以为了简单起见,三个账号可能相同或部分相同

    应用注册

    在微软云(Azure)注册微软App

    微软云应用注册页面

    1. 点击以下链接,侧边栏选择【应用注册】,然后在右侧应用列表中点击【注册应用程序】按钮

      链接:https://aka.ms/bingads-app (或者在微软云搜索【应用注册】服务)

      语言切换:可依次点击【右上角齿轮(Settings)】、左侧【Langauge + Region】、【Language】、【中文(简体)】、【Apply】进行语言切换
      

    [图片上传失败...(image-1d67e5-1719213930609)]

    应用信息填写

    1. 名称。填写应用名称
    2. 受支持的帐户类型。请注意受支持的帐户类型一定要选择【任何组织目录(任何 Microsoft Entra ID 租户 - 多租户)中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox) 】!!否则会获取不到令牌!!
      [图片上传失败...(image-53db47-1719213930609)]
    3. 点击【注册】

    应用配置

    接下来需要配置应用的重定向URI,这是因为在客户OAuth授权跳转时,微软权限认证平台会验证重定向URI,并只会对已配置的重定向URI授予激活码(RedeemCode)

    在应用列表中点击刚刚创建的应用,然后在应用概览页点击【添加重定向URI】

    [图片上传失败...(image-a06eab-1719213930609)]

    然后依次点击

    【添加平台】
    【移动和桌面应用程序】
    【https://login.microsoftonline.com/common/oauth2/nativeclient】
    【配置】
    

    这里需要注意的是:在平台类型的选择中,绝大多数微软广告App选择移动和桌面应用程序就已经足够了。比较容易混淆的Web应用类型是给平台或工具型App使用的,这类App的特点是App方在实际上不拥有所操作的广告账户,但绝大多数微软广告App其实是给自家公司用的,不会服务于第三方客户。

    Web应用:例如你需要在微信上开发一个给别人使用的点单小程序,那么这个点单小程序服务的客户是未知的,你不直接拥有他,需要客户在初次使用时授权、或令牌过期时重新授权
    
    移动和桌面应用程序:例如你开发了一个网盘小程序,管理你自己的文件、相片、视频,这些被操作的对象实际上就是属于你的
    

    完成后效果如下图,注意回到应用详情页复制【应用程序(客户端)ID】在后续步骤中使用

    [图片上传失败...(image-dba000-1719213930609)]

    令牌获取

    令牌介绍

    微软广告API的权限认证基于微软的权限认证平台,使用Refresh Token和Access Token进行交互。除此之外,还需要Developer Token来访问微软广告API,其中

    1. Refresh Token(简称RT)是有效期较长的令牌,用于刷新Access Token,有效期通常为几个月
    2. Access Token(简称AT)是每次调用API必须要传的参数,表示当前这次调用的权限和所能访问的资源。注意,AT是用户级别的,也就是说,在后续步骤中通过OAuth授权拿到AT后,只要AT不过期,就可以通过API访问该用户有权访问的所有广告账户,不需要再次交互授权
    3. Developer Token用于标识是哪位开发者在使用这个App进行API调用

    获取Refresh Token和Access Token

    出错自检:如果碰到问题,请仔细检查App ID是否正确,App是否配置正确,尤其是【平台类型】和【受支持的帐户类型】
    
    1. token脚本中设置clientId,即App ID(微软云应用详情页的【应用程序(客户端)ID】)并继续,此时需要打开浏览器进行交互授权
    Windows:
    powershell .\token.ps1
    
    Linux(需要安装支持open和jq):
    source ./token.sh
    
    1. 使用希望访问的账户登录,并确认授权,如果操作无误,浏览器的地址会变成https://login.microsoftonline.com/common/oauth2/nativeclient?code=...&state=ClientStateGoesHere的格式,将这个地址复制进脚本中继续
    2. 脚本会自动解析URL中的code参数进行激活并拿到RT和AT,注意保存下来供后续使用
    出错自检:AT是JWT token,即ey开头的字符串。脚本输出格式为:
    Access token: ey...
    Access token expires in: ...
    Refresh token: ...
    Access token: ey...
    Refresh token: ...
    

    获取开发者令牌

    广告账号的超级管理员登录微软广告开发者平台https://developers.ads.microsoft.com/Account,点击【Request Token】,然后刷新页面即可看到开发者令牌(Developer token),令牌格式是16位数字字母混合的字符串,例如:111AAAAAAA111111

    调用API

    get-user脚本中输入accessTokendeveloperToken并执行,成功后控制台会输出当前AT对应的用户信息,例如

    Windows:
    powershell .\get-user.ps1
    
    Linux:
    source ./get-user.sh
    
    结果:
    <s:Envelope...>
        ...
        <a:FirstName>...</a:FirstName><a:LastName>...</a:LastName>
        ...
    </s:Envelope>
    

    若上述内容正确完成,则表示应用已成功注册及配置

    参考资料

    微软广告API官方文档: https://learn.microsoft.com/zh-cn/advertising/guides/get-started?view=bingads-13

    相关文章

      网友评论

          本文标题:Azure

          本文链接:https://www.haomeiwen.com/subject/ypxrcjtx.html