Office365 Microsoft Graph-在联合域上创建不带OnPremiseMutableId的用户

Office365 Microsoft Graph-在联合域上创建不带OnPremiseMutableId的用户,office365,microsoft-graph-api,Office365,Microsoft Graph Api,我们正在尝试在联邦域上创建用户,而不发送JSON字段onPremisesImmutableId。如本页所述,在这种情况下,此字段为必填字段 当我们发出这样一个请求时,HTTP响应状态代码奇怪地是400,响应负载中没有正确的消息。下面是一个例子 是否有可能获得请求失败原因的准确信息?我们询问的原因是,在使这个域联合之前,相同的请求工作得非常好,但不再是了。我们花了几个小时才弄清楚哪里出了问题,文件最终给出了线索 Request: Invoke-WebRequest -Method POST htt

我们正在尝试在联邦域上创建用户,而不发送JSON字段
onPremisesImmutableId
。如本页所述,在这种情况下,此字段为必填字段

当我们发出这样一个请求时,HTTP响应状态代码奇怪地是400,响应负载中没有正确的消息。下面是一个例子

是否有可能获得请求失败原因的准确信息?我们询问的原因是,在使这个域联合之前,相同的请求工作得非常好,但不再是了。我们花了几个小时才弄清楚哪里出了问题,文件最终给出了线索

Request:
Invoke-WebRequest -Method POST https://graph.microsoft.com/v1.0/users -Headers @{"Authorization"="Bearer <access_token>"} -Body '{"accountEnabled":true,"displayName": "displayName-value","mailNickname": "mailNickname-value",  "userPrincipalName": "blah-blah","passwordProfile":{"password": "bleh"}}' -ContentType 'application/json'

在联合域中创建用户的请求必须包含OnPremiseMutableId。这就是为什么您的请求开始失败(在将域转换为联邦后)。即使这个属性说它是不可变的,但它意味着它应该是本地用户的不可变id的值——这样您就可以将本地用户对象绑定到云用户对象。如果未正确设置此属性,则联合登录将无法工作。此属性可以更新(尽管出于明显的原因不建议更新),并且如果用户已移动到非联邦的仅云域,则此属性可以为空

如果尝试在未设置onPremisesImmutableId的情况下在联合域中创建用户(或者甚至在未设置onPremisesImmutableId的情况下将用户的userPrincipalName更改为在联合域下),则400错误是适当的。错误确实表明某些设置不正确-但是错误消息是我们**确实需要改进的,并且可能需要更加精确


希望这有帮助,

谢谢!虽然您刚刚重申了我已经提到的内容,但我当然希望错误消息会更好。:-)我重复了你所说的,因为我们的文档就是这么说的,这就是它的工作原理:)。很抱歉,您花了2个小时试图修复此问题。完全听到你的错误信息。@Dan,希望5年后你重新考虑你的资源,并最终花几个小时的时间处理至少前三名最常见的错误信息,这些错误信息的文本看起来像是专门为制作WTF而设计的。感到羞耻和尴尬。我已经为此创建了一个bug(假设它仍然没有修复)。我们正在努力改进和清理一些错误消息,我希望这是可行的。
Response:
    status: 400 Bad Request
    Date: Thu, 06 Apr 2017 19:35:32 GMT
    x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"South India","Slice":"SliceA","ScaleUnit":"000","Host":"AGSFE_IN_1","ADSiteName":"MAA"}}
    Duration: 148.322
    client-request-id: 516c451a-1052-4918-9671-2ebfa8d2f795
    Content-Type: application/json
    Access-Control-Allow-Origin: *
    Access-Control-Expose-Headers: ETag, Location, Preference-Applied, Content-Range, request-id, client-request-id
    Cache-Control: private
    Transfer-Encoding: chunked
    request-id: 516c451a-1052-4918-9671-2ebfa8d2f795

 {
  "error": {
    "code": "Request_BadRequest",
    "message": "One or more properties contains invalid values.",
    "innerError": {
      "request-id": "516c451a-1052-4918-9671-2ebfa8d2f795",
      "date": "2017-04-06T19:35:32"
    }
  }
}