Microsoft Entra B2B 共同作業 API 和自訂
適用於:員工租用戶 外部租用戶 (深入了解)
您可以透過 Microsoft Graph REST API,用最適合貴組織的方式自訂邀請流程。
邀請 API 的功能
API 提供下列功能:
使用任何電子郵件地址來邀請外部使用者。
"invitedUserDisplayName": "Taylor" "invitedUserEmailAddress": "taylor@fabrikam.com"
自訂使用者接受其邀請之後將會看到的內容。
"inviteRedirectUrl": "https://myapps.microsoft.com/"
選擇透過我們的服務傳送標準邀請郵件。
"sendInvitationMessage": true
使用您可以自訂的訊息傳送給收件者。
"customizedMessageBody": "Hello Sam, let's collaborate!"
此外,您也可以選擇在邀請共同作業者時將相關人員新增到副本收件者。
或者,透過選擇不以 Microsoft Entra ID 傳送通知,以完全自訂您的邀請與上線工作流程。
"sendInvitationMessage": false
在此案例中,您會從 API 取得兌換 URL,您可以將它內嵌在電子郵件範本、IM 或其他發佈方法。
最後,若是系統管理員,則可以選擇邀請使用者作為成員。
"invitedUserType": "Member"
判斷使用者是否已受邀前往您的目錄
您可以使用邀請 API 來判斷使用者是否已存在於您的資源租用戶中。 當您開發使用邀請 API 來邀請使用者的應用程式時,這會很有用。 如果使用者已存在於資源目錄中,則不會收到邀請,因此您可以先執行查詢,以判斷是否已有電子郵件作為 UPN 或其他登入屬性存在。
請確定使用者的電子郵件網域不屬於資源租用戶的已驗證網域。
在資源租用戶中,使用下列「取得使用者」查詢,其中 {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 指出邀請為 PendingAcceptance 或 Accepted。
- 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 參考。