创建组织品牌属性

问题描述 投票:0回答:3

我正在尝试通过 Graph API 创建组织品牌 不幸的是,它并不像记录的那样工作

curl --fail-with-body --silent --show-error --oauth2-bearer TOKEN -X PUT -H 'Content-Type: application/json' -d @- https://graph.microsoft.com/v1.0/organization/7c9674e7-ad41-482b-af13-fff7ba1c38f6/branding <<< '{
    "backgroundColor":"#FFFF33",
    "signInPageText":"Welcome",
    "usernameHintText":"hint"
}'
{
  'error': {
    'code': 'Request_BadRequest',
    'message': 'Specified HTTP method is not allowed for the request target.',
    'innerError': {
      'date': '2021-04-21T12:59:57',
      'request-id': 'a5ce577c-d0a9-4888-9999-521d7ba452b1',
      'client-request-id': 'a5ce577c-d0a9-4888-9999-521d7ba452b1'
    }
  }

补丁都不起作用:


curl --fail-with-body --silent --show-error --oauth2-bearer TOKEN  -X PATCH -H 'Content-Type: application/json' -d @- https://graph.microsoft.com/v1.0/organization/7c9674e7-ad41-482b-af13-fff7ba1c38f6/branding <<< '{
    "backgroundColor":"#FFFF33",
    "signInPageText":"Welcome",
    "usernameHintText":"hint"
}'
{
  "error": {
    "code": "Request_ResourceNotFound",
    "message": "Resource '7c9674e7-ad41-482b-af13-fff7ba1c38f6' does not exist or one of its queried reference-property objects are not present.",
    "innerError": {
      "date": "2021-04-21T13:07:43",
      "request-id": "c2c7056b-0043-40cb-82b8-6d262f190005",
      "client-request-id": "c2c7056b-0043-40cb-82b8-6d262f190005"
    }
  }

我尝试打开 Azure 支持请求,但他们告诉我

AAD 开发人员队列正在经历大量请求。 请预计分配会出现延迟,因为在分配案件时会考虑案件严重性、排队时间、客户服务水平和业务影响。

既然 Azure 支持再次被证明毫无用处,也许这里有人可以帮助我? :)

microsoft-graph-api azure-ad-b2c
3个回答
1
投票

根据我的测试,当我使用 PUT 方法时,我遇到了同样的错误。

但是 PATCH 对我来说效果很好。

id
应该是组织 ID 或租户 ID。

请先用

获取
id

GET https://graph.microsoft.com/beta/organization/

然后使用

id
进行 PATCH 方法:

PATCH https://graph.microsoft.com/v1.0/organization/{id}/branding
Content-Type: application/json
Content-Language: en-US
{
    "backgroundColor": "#FFFF33",
    "signInPageText": "Welcome",
    "usernameHintText": "hint"
}

更新:

此端点不支持应用程序令牌。请参阅权限


0
投票

微软支持终于回复了(2个月后!)

目前不支持应用程序权限 端点,这意味着您将需要一个代表用户令牌 使用此端点的委派权限。

由于您的目标是自动化此过程,因此有一种解决方法 有时可行的是在您的租户中拥有一个专门的用户来 执行这些操作,并将通过 ROPC 流进行身份验证。这 流允许直接发送凭据信息(用户名和 密码),因此不需要 UI 或交互。

目前存在一个关于品牌端点的 GET 和 PATCH 方法的已知问题(已报告)和修复 正在处理。此问题将导致 404 错误,指出 未找到租户资源。

问题似乎与正在使用的区域设置有关,如果您希望获取/更新 默认品牌,您可以尝试包含一个标题吗 Accept-language为0(如下图所示),如果你想得到 对于任何其他区域设置的品牌,您需要通过有效的 ISO-639 语言环境。


0
投票

根据 Graph API 文档,可以通过 API 检索和更新组织品牌。没有提到创建初始品牌。

我对新租户进行了测试,对于新租户,

PATCH /organization/{organizationId}/branding
请求失败,但如果首先手动完成公司品牌的初始配置,则请求会成功。

仅供参考,这是使用服务主体(即应用程序权限类型)进行测试的,这避免了依赖委托。

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.