Zend Framework: начало работы с Zend_Gdata_ClientLogin
Я знаю, что это просто, но раньше я не использовал Zend_Gdata, поэтому мне нужны некоторые рекомендации. Пожалуйста, поправьте меня, если какое-либо из моих предположений неверно.
Я использую Google Apps в своем домене, поэтому для начала я хотел бы сделать что-нибудь простое, например, перечислить всех пользователей в домене.
Насколько я понимаю, вам нужно использовать Zend_Gdata_ClientLogin
вместо, Zend_Gdata_AuthSub
поскольку я буду работать с Zend_Gdata_Gapps
. Вот что у меня есть на данный момент:
$client = Zend_Gdata_ClientLogin::getHttpClient('[email protected]', '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 необходимо включить "Provisioning API" в разделе администратора ваших Google Apps. Я обнаружил, что у меня есть только стандартная (бесплатная) версия Google Apps, а это означает, что Provisioning API мне недоступен, если у меня нет основной (платной) версии Google Apps.
Ответов (2)2
Вам не хватает параметра службы, для Google Apps это 'apps'
$client = Zend_Gdata_ClientLogin::getHttpClient('[email protected]', 'password','apps');