Google Provisioning API 403 Error



在尝试调用配置API(通过POST @ https://apps-apis.google.com/a/feeds/domain/user/2.0)的"创建用户帐户"操作时,我一直在获得HTTP 403错误。收到的响应是403错误:

"error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Forbidden"
   }
  ],
  "code": 403,
  "message": "Forbidden"
 }
}

该API直到上周晚些时候才开始工作。我的代码库中没有代码更改。API down了吗?API文档确实说该API已被弃用。但是API应该仍然按照他们的弃用策略工作。

编辑:所以看起来供应API已经被目录API取代了。在Directory API先决条件中,它说"

"
注意:API设备操作不支持远程管理

这对于配置API是否意味着同样的事情?也就是说,Google授权经销商不能访问诸如创建用户的API之类的管理访问权限?

我知道这个问题有点过时了,但是由于它没有答案,而且我今天花了几个小时试图弄清楚这个问题,看来我的答案将来会对某人有所帮助。

我的代码的问题是:我试图登录与用户的帐户数据(用户名+密码)。我已经创建了另一个具有管理权限的帐户来进行更新。

在我的例子中,解决方案是这样的:

$domain = 'yourdomain.com';
$username = '...';       // the user you're trying to update
$admin_username = '...'; // administrative credentials
$admin_password = '...';

$config = array(
              'adapter' => 'Zend_Http_Client_Adapter_Proxy',
              'proxy_host' => 'proxy.example.com',
              'proxy_port' => '...'); // your proxy port here (ex: 8000)
$proxiedHttpClient = new Zend_Gdata_HttpClient(
                             'https://www.google.com:443',
                             $config);
$client = Zend_Gdata_ClientLogin::getHttpClient(
              $admin_username,
              $admin_password,
              Zend_Gdata_Gapps::AUTH_SERVICE_NAME,
              $proxiedHttpClient);
$gdata = new Zend_Gdata_Gapps($client, $domain);
$userEntry = $gdata->retrieveUser($username);
// example: changing user's password
$userEntry->getLogin()->setPassword('Top$EcreT_2014');

$gdata->updateUser($username, $userEntry);

相关内容

  • 没有找到相关文章

最新更新