带有外部帐户和Microsoft Graph API的Azure广告

带有外部帐户和Microsoft Graph API的Azure广告,azure,azure-active-directory,microsoft-graph-api,azure-ad-graph-api,Azure,Azure Active Directory,Microsoft Graph Api,Azure Ad Graph Api,我们正在将Microsoft Azure Active Directory设置为移动应用程序的SSO解决方案,但希望通过服务器端Microsoft Graph API管理用户的帐户创建 对于域的内部用户,这非常有效,因为我们使用Graph API作为管理用户来创建帐户 但是,当试图创建一个外部帐户时,(joe说。bloggs@gmail.com),这是失败的 我们正在使用API调用: POST https://graph.microsoft.com/v1.0/users 正文: 答复: {

我们正在将Microsoft Azure Active Directory设置为移动应用程序的SSO解决方案,但希望通过服务器端Microsoft Graph API管理用户的帐户创建

对于域的内部用户,这非常有效,因为我们使用Graph API作为管理用户来创建帐户

但是,当试图创建一个外部帐户时,(joe说。bloggs@gmail.com),这是失败的

我们正在使用API调用:

POST https://graph.microsoft.com/v1.0/users
正文:

答复:

{
    "error": {
        "code": "Request_BadRequest",
        "message": "Property userPrincipalName is invalid.",
        "innerError": {
            "request-id": "619450ec-e703-4a12-86e3-8f53c20d55fc",
            "date": "2018-01-17T16:30:37"
        },
        "details": [
            {
                "target": "userPrincipalName",
                "code": "InvalidValue"
            }
        ]
    }
}
它是说“userPrincipalName”是无效的,但是在查看文档之后,我不确定API是否支持外部帐户


注意:我意识到您可以使用“/beta/investments”呼叫,但这不会创建帐户。

我假设您正在使用Azure AD B2B,并希望将新的来宾用户添加到您的目录中

我想澄清的一点是,您可以邀请来宾用户访问您的目录,但不能直接在您的目录中创建来宾用户。

因此,您可以通过以下方式邀请来宾用户:

请求

POST https://graph.microsoft.com/beta/invitations
Content-type: application/json
Content-length: 551

{
  "invitedUserEmailAddress": "yyy@test.com",
  "inviteRedirectUrl": "https://myapp.com"
}
响应

HTTP/1.1 201 OK
Content-type: application/json
Content-length: 551

{
  "id": "7b92124c-9fa9-406f-8b8e-225df8376ba9",
  "inviteRedeemUrl": "https://invitations.microsoft.com/redeem/?tenant=04dcc6ab-388a-4559-b527-fbec656300ea&user=7b92124c-9fa9-406f-8b8e-225df8376ba9&ticket=VV9dmiExBsfRIVNFjb9ITj9VXAd07Ypv4gTg%2f8PiuJs%3d&lc=1033&ver=2.0",
  "invitedUserDisplayName": "yyy",
  "invitedUserEmailAddress": "yyy@test.com",
  "sendInvitationMessage": false,
  "invitedUserMessageInfo": {
     "messageLanguage": null,
     "ccRecipients": [
          {
             "emailAddress": {
                 "name": null,
                 "address": null
              }
          }
     ],
     "customizedMessageBody": null
  },
  "inviteRedirectUrl": "https://myapp.com/",
  "status": "Completed",
  "invitedUser":  [ {  "id": "243b1de4-ad9f-421c-a933-d55305fb165d" } ]
}
另外,如果您想邀请来宾用户而不发出邀请,请参阅


希望这有帮助

我假设您正在使用Azure AD B2B,并希望将新的来宾用户添加到您的目录中

我想澄清的一点是,您可以邀请来宾用户访问您的目录,但不能直接在您的目录中创建来宾用户。

因此,您可以通过以下方式邀请来宾用户:

请求

POST https://graph.microsoft.com/beta/invitations
Content-type: application/json
Content-length: 551

{
  "invitedUserEmailAddress": "yyy@test.com",
  "inviteRedirectUrl": "https://myapp.com"
}
响应

HTTP/1.1 201 OK
Content-type: application/json
Content-length: 551

{
  "id": "7b92124c-9fa9-406f-8b8e-225df8376ba9",
  "inviteRedeemUrl": "https://invitations.microsoft.com/redeem/?tenant=04dcc6ab-388a-4559-b527-fbec656300ea&user=7b92124c-9fa9-406f-8b8e-225df8376ba9&ticket=VV9dmiExBsfRIVNFjb9ITj9VXAd07Ypv4gTg%2f8PiuJs%3d&lc=1033&ver=2.0",
  "invitedUserDisplayName": "yyy",
  "invitedUserEmailAddress": "yyy@test.com",
  "sendInvitationMessage": false,
  "invitedUserMessageInfo": {
     "messageLanguage": null,
     "ccRecipients": [
          {
             "emailAddress": {
                 "name": null,
                 "address": null
              }
          }
     ],
     "customizedMessageBody": null
  },
  "inviteRedirectUrl": "https://myapp.com/",
  "status": "Completed",
  "invitedUser":  [ {  "id": "243b1de4-ad9f-421c-a933-d55305fb165d" } ]
}
另外,如果您想邀请未经邀请的来宾用户,请参阅


希望这有帮助

嗯。。首先,您必须创建userType为Guest的用户。该Microsoft Graph API仅用于创建具有工作或学校帐户(内部成员)的用户,而不用于Guest用户。嗯。。首先,您必须创建userType为Guest的用户。该Microsoft Graph API仅用于创建具有工作或学校帐户(内部成员)的用户,而不用于Guest用户。