0

我知道这很简单,但是我之前没有使用过 Zend_Gdata,所以我需要一些指导。如果我的任何假设不正确,请纠正我。

我在我的域上使用 Google Apps,所以要开始,我想做一些简单的事情,比如列出域上的所有用户。

据我了解,您需要使用,Zend_Gdata_ClientLogin而不是Zend_Gdata_AuthSub因为我将使用Zend_Gdata_Gapps. 这是我到目前为止所得到的:

$client = Zend_Gdata_ClientLogin::getHttpClient('admin@mydomain.com', 'password');
$gdata = new Zend_Gdata_Gapps($client, 'mydomain.com');
$users = $gdata->retrieveAllUsers();

但是,retrieveAllUsers() 抛出异常并显示此消息:

Expected response code 200, got 401 <HTML> <HEAD> <TITLE>Token invalid</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <H1>Token invalid</H1> <H2>Error 401</H2> </BODY> </HTML>

这意味着什么?我究竟做错了什么?我不知道这是否重要,但我在本地运行这个 PHP 脚本,但我的 Google Apps 在远程服务器上运行。我正在使用 Zend Framework 1.7.5 版。

更新:如果有人想知道,我在执行此操作时遇到了更多问题。我发现为了使用 Zend_Gdata,您必须在 Google Apps 的管理部分启用“Provisioning API”。我发现我只有标准(免费)版本的 Google Apps,这意味着我无法使用 Provisioning API,除非我拥有 Google Apps 的高级(付费)版本。

4

2 回答 2

1

您缺少服务参数,对于 Google Apps,它是'apps'

$client = Zend_Gdata_ClientLogin::getHttpClient('admin@mydomain.com', 'password','apps');
于 2009-02-27T09:03:18.600 回答
0

我一直在学习如何访问谷歌电子表格并通过了 $service。

$service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
于 2009-04-14T08:41:34.633 回答