Microsoft Entra B2B 共同作業 API 和自定義

透過 Microsoft Graph REST API,您可以透過最適合貴組織的方式自定義邀請程式。

邀請 API 的功能

API 提供下列功能:

  1. 邀請具有 任何 電子郵件位址的外部使用者。

    "invitedUserDisplayName": "Taylor"
    "invitedUserEmailAddress": "taylor@fabrikam.com"
    
  2. 自訂您希望使用者在接受邀請之後登陸的位置。

    "inviteRedirectUrl": "https://myapps.microsoft.com/"
    
  3. 選擇透過我們傳送標準邀請郵件。

    "sendInvitationMessage": true
    

    使用訊息給收件者,您可以自定義。

    "customizedMessageBody": "Hello Sam, let's collaborate!"
    
  4. 並選擇副本:您想要繼續參與邀請此共同作業者的迴圈。

  5. 或者,選擇不要透過 Microsoft Entra ID 傳送通知,以完全自定義您的邀請和上線工作流程。

    "sendInvitationMessage": false
    

    在此情況下,您會從 API 取得兌換 URL,以內嵌在您選擇的電子郵件範本、IM 或其他散發方法中。

  6. 最後,如果您是系統管理員,您可以選擇邀請使用者作為成員。

    "invitedUserType": "Member"
    

判斷使用者是否已受邀加入您的目錄

您可以使用邀請 API 來判斷資源租使用者中是否已存在使用者。 當您開發使用邀請 API 邀請使用者的應用程式時,這非常有用。 如果使用者已存在於您的資源目錄中,他們就不會收到邀請,因此您可以先執行查詢,以判斷電子郵件是否已經以 UPN 或其他登入屬性的形式存在。

  1. 請確定使用者的電子郵件網域不屬於您資源租用戶已驗證網域的一部分。

  2. 在資源租使用者中,使用下列取得用戶查詢,其中 {0} 是您邀請的電子郵件位址:

    “userPrincipalName eq '{0}' or mail eq '{0}' or proxyAddresses/any(x:x eq 'SMTP:{0}') or signInNames/any(x:x eq '{0}') or otherMails/any(x:x eq '{0}')"
    

授權模型

API 可以在下列授權模式中執行:

應用程式 + 使用者模式

在此模式中,無論誰使用 API,都必須擁有建立 B2B 邀請的許可權。

僅限應用程式模式

在僅限應用程式內容中,應用程式需要User.Invite.All範圍,邀請才能成功。

如需詳細資訊,請參閱:https://developer.microsoft.com/graph/docs/authorization/permission_scopes

PowerShell

您可以使用 PowerShell 輕鬆地將外部使用者新增並邀請至組織。 使用 Cmdlet 建立邀請:

New-MgInvitation

您可以使用下列選項:

  • -InvitedUserDisplayName
  • -InvitedUserEmailAddress
  • -SendInvitationMessage
  • -InvitedUserMessageInfo

邀請狀態

傳送外部使用者邀請之後,您可以使用 Get-MgBetaUser Cmdlet 來查看他們是否已接受邀請。 當外部使用者傳送邀請時,會填入 Get-MgBetaUser 的下列屬性:

  • externalUserState 指出邀請為 PendingAcceptanceAccepted
  • externalUserStateChangeDateTime 會顯示 externalUserState 屬性最新變更的時間戳。

您可以使用 [篩選] 選項,依 externalUserState 篩選結果。 下列範例示範如何篩選結果,只顯示有擱置邀請的使用者。 此範例也會顯示 Format-List 選項,可讓您指定要顯示的屬性。

Get-MgBetaUser -Filter "externalUserState eq 'PendingAcceptance'" | Format-List -Property DisplayName,UserPrincipalName,externalUserState,externalUserStateChangeDateTime

注意

請確定您有最新版的 Microsoft Graph PowerShell 模組

另請參閱

請查看 中的 https://developer.microsoft.com/graph/docs/api-reference/v1.0/resources/invitation邀請 API 參考。

下一步