尝试使用Provisioning 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下降了吗? The API docs does say the API has been deprecated.但API仍应根据其弃用政策工作。
编辑:所以似乎Provisioning API已被Directory API取代。在Directory API先决条件中,它说“
注意:API设备操作不支持远程管理 访问Google授权转销商。
对于Provisioning API,这是否意味着相同的事情?这意味着,Google授权经销商无法访问管理权限,例如创建用户的API?
答案 0 :(得分:0)
我知道这个问题有点过时了,但由于没有回答而我今天花了几个小时试图解决这个问题,似乎我的答案可以帮助将来的某个人。
我的代码存在的问题是:我尝试使用用户的帐户数据(用户名+密码)登录。我已经创建了另一个具有管理权限的帐户来继续更新。
我案例中的解决方案如下:
$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);