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

相关问题