共用方式為


Microsoft Entra B2B 共同作業 API 和自訂

適用於具有白色核取記號的綠色圓圈。員工租用戶具有灰色 X 符號的白色圓圈。 外部租用戶 (深入了解)

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

邀請 API 的功能

API 提供下列功能:

  1. 下列 JSON 表示法示範如何邀請具有 任何 電子郵件位址的外部使用者。

    "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 參考。