Zend Framework: Начало работы с Zend_Gdata_ClientLogin - PullRequest
0 голосов
/ 27 февраля 2009

Я знаю, что это просто, но я раньше не использовал Zend_Gdata, поэтому мне нужно некоторое руководство. Пожалуйста, исправьте меня, если какие-либо из моих предположений неверны.

Я использую Службы Google на своем домене, поэтому для начала я хотел бы сделать что-то простое, например, перечислить всех пользователей домена.

Насколько я понимаю, вам нужно использовать 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 работают на удаленном сервере. Я использую Zend Framework версии 1.7.5.

Обновление: Если кому-то интересно, было еще несколько проблем, с которыми я столкнулся при этом. Я обнаружил, что для использования Zend_Gdata у вас есть возможность включить «API предоставления» в разделе администратора ваших Служб Google. Я обнаружил, что у меня есть только стандартная (бесплатная) версия Служб Google, а это означает, что API предоставления не доступен для меня, если у меня нет основной (платной) версии Служб Google.

Ответы [ 2 ]

1 голос
/ 27 февраля 2009

Вам не хватает параметра службы, для Служб Google это 'apps'

$client = Zend_Gdata_ClientLogin::getHttpClient('admin@mydomain.com', 'password','apps');
0 голосов
/ 14 апреля 2009

Я изучаю, как получить доступ к таблицам Google, и я передаю $ сервис.

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