【发布时间】:2013-06-25 20:00:00
【问题描述】:
我正在尝试通过我公司在谷歌的经销商账户自动创建谷歌应用账户的整个过程,而无需任何人手动启用任何东西。
这是我正在做的一个快速场景。
- 使用 Reseller API 创建客户(域)
- 使用 Reseller API 创建订阅
- 为出售的域创建管理员帐户
我无法自动执行第 3 步。
有 2 种不同的 API 可以完成此任务,即 Provisioning(已弃用)和 Directory。
我已经使用 Directory API 成功创建了用户帐户,但此步骤需要您 enable API access for that domain,而这只能由人工手动完成 - 所以这是自动化流程的中断,不适用于我我正在努力完成。
Google 技术支持人员指示我使用已弃用的 Provisioning API,因为它应该允许您创建管理员用户,而无需为每个域手动启用 API 访问。当我尝试这样做时,我遇到了这个错误:
Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 403 <HTML> <HEAD> <TITLE>You are not authorized to perform operations on the domain mydomain.com</TITLE>
这是我试图运行的代码:
// .....
$customerid = "somedomain.com";
$client = Zend_Gdata_ClientLogin::getHttpClient("mylogin@foo.com", "mypassword",Zend_Gdata_Gapps::AUTH_SERVICE_NAME);
$gdata = new Zend_Gdata_Gapps($client, $customerid);
$gdata->createUser('Admin', 'Firstname', 'Lastname', 'somerandompassword', TRUE);
//......
当我咨询 google 技术支持时,他们告诉我需要按照我之前发布的相同说明启用配置 api(启用每个域的 api 访问)。我已经在我的经销商域和我尝试配置的客户域上完成了此操作(只是为了测试,因为整个要点是能够在不启用客户域的情况下创建一个管理员帐户。) - 但它仍然返回此错误。
这是我的设置——如您所见,它已启用。
在 google 的文档中,"Enabling the Provisioning API" 下有一些说明,但它们似乎已过时,并不能真正反映当前 google 应用程序管理面板中可用的部分。
我不知所措。我是否遗漏了一些明显的东西,还是目前无法做到?
仅供参考,我发现其他一些人提出了类似的问题,但细节较少:
- Google Reseller Customer Admin User Creation Admin SDK How
- How to create the domain administrator of a Google Apps domain purchased via the reseller API
编辑:添加了显示设置的图像和代码示例。
【问题讨论】:
-
您能否向我们展示您通过 Provisioning API 创建用户的确切调用代码?
-
更新了原来的问题。
-
$gdata->createUser($username, $givenName, $familyName, $password, $passwordHashFunction=null, $quota=null);来自文档:developers.google.com/google-apps/provisioning/…
标签: google-provisioning-api google-admin-sdk google-reseller-api