2017-01-30 36 views
1

我知道如何創建AD B2C用戶,並通過圖形API將它們添加到組中。我在我的Azure函數中執行此操作。我想知道的是,是否可以創建用戶並同時將它們添加到組中?如果不是,那麼我想我將不得不處理創建用戶的潛在案例,但無法添加到組中。這種情況有多可能?我試圖確保我涵蓋了所有失敗條件下的所有基礎,因此任何輸入都將不勝感激。謝謝。創建AD用戶並同時添加到組中?

回答

1

看起來好像你想使用Batch Processing這些類型的請求。

這裏是他們的文章中發表的示例請求: 下面的例子顯示了包含五個項目的批處理請求:

  1. 改變集,創建一個用戶,[email protected]( POST)。此操作包括Prefer:response-no-content標頭,用於禁止正在返回的新創建的用戶。
  2. 用於更新新用戶(PATCH)的Department和Job Title屬性並設置其管理器導航屬性(PUT)的更改集。
  3. 查詢新用戶(GET)的經理。
  4. 刪除新用戶(DELETE)的更改集。
  5. 用戶查詢(GET)。此操作將失敗,因爲用戶在上一步中被刪除。

    POST https://graph.windows.net/contoso.onmicrosoft.com/$batch?api-version=1.5 HTTP/1.1 
    Authorization: Bearer ey … jQA 
    Content-Type: multipart/mixed; boundary=batch_36522ad7-fc75-4b56-8c71-56071383e77b 
    Host: graph.windows.net 
    Content-Length: 2961 
    
    --batch_36522ad7-fc75-4b56-8c71-56071383e77b 
    Content-Type: multipart/mixed; boundary=changeset_77162fcd-b8da-41ac-a9f8-9357efbbd620 
    Content-Length: 631  
    
    --changeset_77162fcd-b8da-41ac-a9f8-9357efbbd620 
    Content-Type: application/http 
    Content-Transfer-Encoding: binary 
    
    POST /contoso.onmicrosoft.com/users?api-version=1.5 HTTP/1.1 
    Content-Type: application/json 
    Accept: application/json 
    Content-Length: 256 
    Prefer: return-no-content 
    Host: graph.windows.net 
    
    { 
        "accountEnabled": true, 
        "displayName": "Test User", 
        "mailNickname": "testuser", 
        "passwordProfile": { "password" : "Test1234", "forceChangePasswordNextLogin": false }, 
        "userPrincipalName": "[email protected]" 
    } 
    
    --changeset_77162fcd-b8da-41ac-a9f8-9357efbbd620----batch_36522ad7-fc75-4b56-8c71-56071383e77b 
    Content-Type: multipart/mixed; boundary=changeset_4b2cbfb7-011d-4edb-8bbf-e044f9830aaf 
    Content-Length: 909 
    
    --changeset_4b2cbfb7-011d-4edb-8bbf-e044f9830aaf 
    Content-Type: application/http 
    Content-Transfer-Encoding: binary 
    
    PATCH /contoso.onmicrosoft.com/users/[email protected]?api-version=1.5 HTTP/1.1 
    Content-Type: application/json 
    Accept: application/json 
    Content-Length: 72 
    Host: graph.windows.net 
    
    { 
        "department": "Engineering", 
        "jobTitle": "Test Engineer" 
    } 
    
    --changeset_4b2cbfb7-011d-4edb-8bbf-e044f9830aaf 
    Content-Type: application/http 
    Content-Transfer-Encoding: binary 
    
    PUT /contoso.onmicrosoft.com/users/[email protected]/$links/manager?api-version=1.5 HTTP/1.1 
    Content-Type: application/json 
    Accept: application/json 
    Content-Length: 112 
    Host: graph.windows.net 
    
    { 
        "url":"https://graph.windows.net/contoso.onmicrosoft.com/users/a71e4d1c-ce99-40dc-8d4b-390eac63e039" 
    } 
    
    --changeset_4b2cbfb7-011d-4edb-8bbf-e044f9830aaf----batch_36522ad7-fc75-4b56-8c71-56071383e77b 
    Content-Type: application/http 
    Content-Transfer-Encoding:binary 
    
    GET /contoso.onmicrosoft.com/users/[email protected]/$links/manager?api-version=1.5 HTTP/1.1 
    Accept: application/json 
    Host: graph.windows.net 
    
    --batch_36522ad7-fc75-4b56-8c71-56071383e77b 
    Content-Type: multipart/mixed; boundary=changeset_9a0b5878-0f4a-4f57-91c5-9792cdd5ef20 
    Content-Length: 331  
    
    --changeset_9a0b5878-0f4a-4f57-91c5-9792cdd5ef20 
    Content-Type: application/http 
    Content-Transfer-Encoding: binary 
    
    DELETE /contoso.onmicrosoft.com/users/[email protected]?api-version=1.5 HTTP/1.1 
    Accept: application/json 
    Host: graph.windows.net 
    
    
    --changeset_9a0b5878-0f4a-4f57-91c5-9792cdd5ef20----batch_36522ad7-fc75-4b56-8c71-56071383e77b 
    Content-Type: application/http 
    Content-Transfer-Encoding:binary 
    
    GET /contoso.onmicrosoft.com/users/[email protected]?api-version=1.5 HTTP/1.1 
    Accept: application/json 
    Host: graph.windows.net 
    
    --batch_36522ad7-fc75-4b56-8c71-56071383e77b-- 
    
+0

真棒,謝謝! – Architekt

相關問題