0

当我们从已弃用的 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

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

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

任何帮助,将不胜感激。

4

1 回答 1

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 访问

在此处输入图像描述

于 2013-10-17T16:41:55.680 回答