0

當我們從不推薦的Provisioning API轉換到新的Directory API時,我發現文檔中存在一些有關我作爲分銷商如何管理我的客戶(Google Apps客戶)的漏洞。具體來說,我想知道我可以用我的經銷商OAuth認證,創建代表我的一個客戶的新用戶(如配置API中是可能的)使用以下端點:作爲經銷商,如何使用Admin SDK Directory API創建新的Google Apps用戶?

https://developers.google.com/admin-sdk/directory/v1/reference/users/insert

在上述文檔中,我沒有看到對客戶帳戶的引用。我認爲唯一有用的參數是organizations和​​。這些文件幾乎沒有文件。我想測試以下場景:

  $params = array(
      'externalIds' => array(
       array(
        'type'   => 'customer', // or 'account'? 
        'value'   => $data['domain'] 
       ) 
      ), 
      'organizations'  => array(
       array(
        'name'   => $data['domain'], 
        'domain'  => $data['domain'], 
        'type'   => 'domain_only', 
        'primary'  => true 
       ) 
      ) 
      ); 

同樣,如客戶的檢索上的現有用戶執行操作時,我沒有看到,我可以指定哪些谷歌Apps帳戶的特定用戶綁於:

https://developers.google.com/admin-sdk/directory/v1/reference/users/get

在這種情況下,有沒有對組織或外部ID甚至參數,所以我不知道檢索何以是針對特定的客戶在我的經銷商帳戶。

我需要能夠執行這些操作,因爲我只能代表我的客戶在舊Provisioning API中使用我的經銷商帳戶OAUTH憑據。

任何幫助,將不勝感激。

回答

3

假設我的經銷商帳戶是reseller.com,而我的轉售域名是resold.com。爲了代表我的轉售域創建用戶,以下是我將使用自己的轉銷商憑據進行的調用。

https://developers.google.com/admin-sdk/directory/v1/guides/manage-users?hl=ja#create_user

POST /admin/directory/v1/users HTTP/1.1 
{ 
"name": { 
    "familyName": "Lam", 
    "givenName": "Emily" 
}, 
"password": "anythingyouwant", 
"primaryEmail": "[email protected]" 
} 

什麼您在primaryEmail領域的投入是用戶將被創建。如果你現在看看你的轉售域管理控制檯,你會看到現在創建了一個用戶。

現在再次檢索,這是相同的交易。

GET /admin/directory/v1/users/[email protected] 

您將創建這些用戶並使用您的轉銷商憑據檢索這些用戶,就好像您是他們的域的超級管理員一樣。這裏是趕上....

如果在您的轉售域管理控制檯(默認情況下,這是現在自動檢查所有新轉售域此刻)手動檢查「啓用API訪問」,您可以代表轉售域名撥打電話。

的按鈕在管理控制檯 - >安全 - > API參考 - >啓用API訪問權限

enter image description here

+0

非常感謝艾米莉。看起來好像新的Directory API與舊的Provisioning API相比已經大大簡化,只需在引用客戶時使用電子郵件地址的域部分即可。那很棒! –

+0

還有一個問題......當爲客戶域創建第一個用戶時,該用戶是否會自動升級爲超級管理員帳戶?我想知道是否有必要對'/ makeAdmin'進行後續請求。 –

+0

我相信你必須做makeadmin調用。即使她是第一個創建的用戶,用戶也不會自動成爲superadmin。 – Emily

相關問題