【问题标题】:Set the logo for an Azure Application using Microsoft Graph使用 Microsoft Graph 为 Azure 应用程序设置徽标
【发布时间】:2020-02-06 16:45:21
【问题描述】:

使用 Microsoft Graph API,可以使用应用程序端点创建 Azure 应用程序。 https://docs.microsoft.com/en-us/graph/api/application-post-applications?view=graph-rest-1.0&tabs=http

应用程序有一个徽标,当您通过 Azure 门户添加它时,info/logoUrl 属性就有一个值。您如何通过图表设置徽标?我尝试将其设置为 url,没有错误,但没有设置值。

【问题讨论】:

    标签: azure-active-directory microsoft-graph-api


    【解决方案1】:

    在另一个回复中提到,info/logoUrl在Microsoft Graph中是Read-only,我们无法直接设置它,同样根据我的测试,即使请求返回204,它也不会生效。

    我的解决方法是使用Azure AD Graph API,您可以在邮递员中尝试以下请求,它适用于我。

    请求网址:

    PUT https://graph.windows.net/<tenant-id>/applications/<object-id>/mainLogo?api-version=1.6
    

    在邮递员中,Authorization -> Bearer token -> 填写您的令牌,在Body 中,选择binary -> Select file,然后是Send

    注意:图片不能很大,否则会出现The stream write request would result in an excessive number of bytes being written错误。

    检查门户:


    此外,如果您只是想以编程方式设置徽标,您可以使用 powershell Set-AzureADApplicationLogo,这是我能找到的最简单的方法。

    Set-AzureADApplicationLogo -ObjectId <object-id> -FilePath C:\Users\joyw\Desktop\pic1.jpg
    

    【讨论】:

    • 谢谢。我现在正在使用 Azure Graph 成功设置徽标。
    • 我在较新的 Microsoft Graph API v1.0 中发现了一个看似新的端点,我在我的回答中已经写过。
    【解决方案2】:

    Microsoft Graph API v1.0 现在支持上传徽标,虽然我无法在他们的文档中找到这个特定的端点,但这可能是因为 v1.0 API 在撰写本文时只有几周的历史。

    请求:

    Content-Type: image/png
    PUT https://graph.microsoft.com/v1.0/applications/<object-id>/logo
    <binary content>
    

    在 Postman 中,您可以通过转到 Body 然后单击单选按钮中的二进制来设置二进制正文内容。确保相应地设置 Content-Type 标头,例如.png 文件的图像/png

    成功后您将收到204 No Content 空响应,它似乎在 Azure 门户中查看应用注册时立即生效。

    【讨论】:

    【解决方案3】:

    恐怕我们无法通过 Microsoft Graph API 修改徽标。

    info/logoUrl 基于informationalUrl resource type 是只读的。

    【讨论】:

      猜你喜欢
      • 2019-03-25
      • 2021-01-31
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多