当我们从已弃用的Provisioning API过渡到新的Directory API时,我发现文档中有一些漏洞,涉及我作为经销商如何管理我的客户(Google Apps客户)。具体来说,我想知道如何使用我的经销商OAUTH凭证代表我的一个客户创建新用户(在Provisioning API中可能),使用以下端点:
https://developers.google.com/admin-sdk/directory/v1/reference/users/insert
在上述文档中,我没有看到对客户帐户的引用。我认为唯一有用的参数可能是organizations
和externalIds
。关于这些做什么的文件很少。我正在考虑测试以下场景:
$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中执行这些操作。
任何帮助都将不胜感激。
答案 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访问