0

我正在尝试通过我公司在谷歌的经销商帐户来自动化创建谷歌应用程序帐户的整个过程,而无需任何人手动启用任何东西。

这是我正在做的一个快速场景。

  1. 使用 Reseller API 创建客户(域)
  2. 使用经销商 API 创建订阅
  3. 为出售的域创建管理员帐户

我无法自动执行第 3 步。

有 2 种不同的 API 可以完成此任务,即 Provisioning(已弃用)和 Directory。

我已经使用 Directory API 成功创建了用户帐户,但是此步骤要求您为该域启用 API 访问,并且只能由人工手动完成 - 所以这是自动化流程的中断,并且不适用于我我正在努力完成。

谷歌技术支持指示我使用已弃用的 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);

//......

当我咨询谷歌技术支持时,他们告诉我我需要按照我之前发布的相同指令启用配置 api(启用每个域的 api 访问)。我已经在我的经销商域和我试图配置的客户域上完成了此操作(只是为了测试,因为整个要点是能够在没有在客户域上启用它的情况下创建一个管理员帐户。) - 但它仍然返回此错误。

这是我的设置——如您所见,它已启用。

在此处输入图像描述

在谷歌的文档中,在“启用配置 API”下,它有一些说明,但它们似乎已经过时,并没有真正反映当前谷歌应用程序管理面板中可用的部分。

我不知所措。我是否遗漏了一些明显的东西,还是目前无法做到?

仅供参考,我发现其他一些人提出了类似的问题,但细节较少:

编辑:添加了显示设置的图像和代码示例。

4

3 回答 3

0

在 Google 应用程序控制台中 --> 高级工具 --> 管理第三方 OAuth 客户端访问

添加范围: https ://apps-apis.google.com/a/feeds/user

于 2013-06-30T08:54:10.753 回答
0

尝试删除 createUser 中的“TRUE”参数,它对我有用。

$customerid = "sampledomain.com";

$client = Zend_Gdata_ClientLogin::getHttpClient($email, $password, Zend_Gdata_Gapps::AUTH_SERVICE_NAME);
$gdata = new Zend_Gdata_Gapps($client, $customerid);

var_dump($gdata->createUser('trial', 'Firstname', 'Lastname', 'somerandompassword'));
于 2013-06-28T00:58:21.523 回答
0

在 Google 应用程序控制台域设置 -> 用户设置中选中“启用 API 访问”框

于 2013-06-27T09:31:57.913 回答