作为转销商,如何使用管理SDK目录API创建新的Google Apps用户?

时间:2013-10-17 16:17:38

标签: google-admin-sdk google-provisioning-api google-reseller-api google-directory-api

当我们从已弃用的Provisioning API过渡到新的Directory API时,我发现文档中有一些漏洞,涉及我作为经销商如何管理我的客户(Google Apps客户)。具体来说,我想知道如何使用我的经销商OAUTH凭证代表我的一个客户创建新用户(在Provisioning API中可能),使用以下端点:

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

在上述文档中,我没有看到对客户帐户的引用。我认为唯一有用的参数可能是organizationsexternalIds。关于这些做什么的文件很少。我正在考虑测试以下场景:

            $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
                )
            )
            );

同样,在对现有用户执行操作(例如检索客户)时,我看不出在哪里可以指定特定用户所关联的Google Apps帐户:

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

在这种情况下,组织或externalId甚至没有参数,所以我不知道如何在我的经销商帐户下针对特定客户进行检索。

我需要能够仅使用我的转销商帐户OAUTH凭据代表我的客户在旧的Provisioning API中执行这些操作。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分: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": "emily@resold.com"
}

您在primaryEmail字段中输入的内容是创建用户的位置。如果您现在查看转售域管理控制台,您将看到现在已创建用户。

现在再次进行检索,这是同样的交易。

GET /admin/directory/v1/users/emily@resold.com

您将使用转销商凭据创建这些用户并检索这些用户,就好像您是其域的超级管理员一样。这是抓住......

如果未在转售域名管理控制台中手动选中“启用API访问权限”(默认情况下,此时会自动检查所有新转售的域名),则无法代表转售付款域。

该按钮位于管理控制台中 - >安全 - > API参考 - >启用API访问

enter image description here