2

我有一個小腳本來強制Google Apps域中的用戶在下次登錄時更改其密碼。我使用的是Zend Framework 1.11.13,但我在1.12.0上也得到了相同的結果。嘗試使用Google Provisioning API更新用戶時出現500錯誤

更新google文檔中用戶的示例(https://developers.google.com/google-apps/provisioning/#updating_a_user_account)似乎過時或不正確,因爲在客戶端對象上調用updateUser總是返回未定義的方法錯誤。

這裏是我的代碼:

<?php 
set_include_path(implode(PATH_SEPARATOR, array(
    "/var/www/workspace/extlib/zend-framework/library/", 
    get_include_path(), 
))); 
require_once 'Zend/Loader.php'; 
Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); 
Zend_Loader::loadClass('Zend_Gdata_Gapps'); 

$client = Zend_Gdata_ClientLogin::getHttpClient("removed", "removed", Zend_Gdata_Gapps::AUTH_SERVICE_NAME); 
$gdata = new Zend_Gdata_Gapps($client, 'domain.com'); 
$userEntry = $gdata->retrieveUser("a.username"); 
$userEntry->getLogin()->setChangePasswordAtNextLogin(true); 
$gdata->updateUser("a.username", $userEntry); 

而我得到的錯誤是:

PHP Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 500 
Internal Error' in /var/www/workspace/extlib/zend-framework/library/Zend/Gdata/App.php:718 
Stack trace: 
#0 /var/www/workspace/extlib/zend-framework/library/Zend/Gdata.php(219): Zend_Gdata_App->performHttpRequest('PUT', 'https://apps-ap...', Array, '<atom:entry xml...', 'application/ato...', NULL) 
#1 /var/www/workspace/extlib/zend-framework/library/Zend/Gdata/App.php(934): Zend_Gdata->performHttpRequest('PUT', 'https://apps-ap...', Array, '<atom:entry xml...', 'application/ato...') 
#2 /var/www/workspace/extlib/zend-framework/library/Zend/Gdata/Gapps.php(272): Zend_Gdata_App->put(Object(Zend_Gdata_Gapps_UserEntry), 'https://apps-ap...', NULL, NULL, Array) 
#3 /var/www/workspace/extlib/zend-framework/library/Zend/Gdata/App.php(1025): Zend_Gdata_Gapps->put(Object(Zend_Gdata_Gapps_UserEntry), 'https://apps-ap...', NULL, NULL, Array) 
#4 /var/www/workspace/extlib/zend-framework/library/Zend/Gdata/Gapps.php(1005): Zend_ in /var/www/workspace/extlib/zend-framework/library/Zend/Gdata/App.php on line 718 

我在一些調試代碼添加在這裏和那裏,絕對用戶被加載確定,所以它似乎不是一個權限錯誤或網絡錯誤,因爲初始請求工作正常。從我嘗試調用updateUser時出現錯誤。

任何幫助將非常感謝!

回答

1

更多的描述。

我創建的用戶管理密碼更改,雖然有權重置密碼,但無法爲具有超級管理員權限的用戶重置密碼,因爲它只具有管理員權限。

也許這裏需要更合適的錯誤信息?

1

使用Fiddler了錯誤的描述,它提供了有關我發現,這個問題實際上是基於權限的錯誤

相關問題