为从Reseller API创建的域创建管理员帐户

时间:2013-06-25 20:00:01

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

我正在尝试通过我公司的谷歌转销商帐户自动创建谷歌应用帐户的整个过程,而无需任何人手动启用任何内容。

这是我正在做的事情的快速场景。

  1. 使用转销商API创建客户(域)
  2. 使用转销商API创建订阅
  3. 为已售出域名创建管理员帐户
  4. 我无法自动执行第3步。

    有2种不同的API可以完成此尝试,供应(已删除)和目录。

    我已经使用Directory API成功创建了用户帐户,但是此步骤要求您enable API access for that domain,并且只能由人工手动完成 - 这样就可以在自动化流程中中断,并且无法工作我想要完成的任务。

    谷歌技术支持人员指示我使用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访问)。我在我的经销商域和客户域上都做了这个我试图配置(只是为了测试,因为整个观点是能够创建一个管理员帐户而不在客户域上启用它。) - 但它仍然返回此错误。

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

    enter image description here

    在谷歌的文档中,在"Enabling the Provisioning API"下,它有一些说明,但它们似乎已过时,并没有真正反映当前谷歌应用管理面板中提供的部分。

    我不知所措。我是否遗漏了一些明显的东西,或者目前是不可能做到的?

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

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

3 个答案:

答案 0 :(得分:0)

在Google应用控制台中 域名设置 - &gt;用户设置 选中“启用API访问”框

答案 1 :(得分: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'));

答案 2 :(得分:0)

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

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