Zend Framework:Zend_Gdata_ClientLogin入门

时间:2009-02-27 07:56:45

标签: zend-framework gdata-api

我知道这很简单,但我之前没有使用过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的管理部分启用“配置API”。我发现我只有Google Apps的标准(免费)版本,这意味着除非我有Google Apps的高级(付费)版本,否则我无法使用Provisioning API。

2 个答案:

答案 0 :(得分:1)

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

$client = Zend_Gdata_ClientLogin::getHttpClient('admin@mydomain.com', 'password','apps');

答案 1 :(得分:0)

我一直在学习如何访问谷歌电子表格,我通过$服务。

$service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);