Intereting Posts
Как изменить имя элемента в DOM? single Вставить запрос для вставки нескольких строк в один столбец Почему FILTER_VALIDATE_URL возвращает FALSE только для этого URL-адреса? Бесплатная доставка в зависимости от веса и минимальной суммы Множественные значения флажка не отображаются Найти, если номер находится между двумя номерами в разных полях в базе данных MySQL Сводный синтаксис PHP Как исправить это незаконное смещение строк? Необходимое поле (ы) отсутствует результат Получить идентификатор пользователя при входе пользователя в систему с использованием Username & Password Проблема, повторяющая HTML со сценарием в ней, нуждающаяся в третьем " Конструктор запросов базы данных иногда возвращает массив вместо объекта, запущенного как задание в очереди Создайте всплывающее меню с родительскими элементами Disqus API создает сообщение об ошибке PHP Regex для определения относительного или абсолютного пути

получить клиент Google, используя токен доступа

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

$client = Zend_Gdata_ClientLogin::getHttpClient('you@there.com', 'password', Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME); $service = new Zend_Gdata_Spreadsheets($client); // Get worksheet feed $query = new Zend_Gdata_Spreadsheets_DocumentQuery(); $query->setSpreadsheetKey('your spreadsheet key'); $feed = $spreadsheetService->getWorksheetFeed($query); 

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

Исправлено исключение: ожидаемый код ответа 200, получил 401

и токен без атак

 $client = Zend_Gdata_AuthSub::getHttpClient('ya29.XXXXXXX'); 

Другая попытка,

 $client = new Zend_Gdata_HttpClient(); $session_token =Zend_Gdata_AuthSub::getAuthSubSessionToken('ya29.XXXXXXX',$client); $client->setAuthSubToken($sessionToken); 

Исправлено исключение: обновление токена завершилось неудачно. Причина:

Я думаю, вы смешиваете вещи.

ClientLogin и AuthSub – разные API аутентификации (обе устаревшие). Маркер ClientLogin истекает через две недели или раньше (см. https://developers.google.com/gdata/faq#clientlogin_expire ). Вы можете использовать токен, пока он не истекает, вызвав setter setClientLoginToken из Zend_Gdata_HttpClient .

Пример:

 $client = Zend_Gdata_ClientLogin::getHttpClient('email@example.com', 'password', Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME); $token = $client->getClientLoginToken(); //Save to DB / in session / whatever $client = new Zend_Gdata_HttpClient(); $client->setClientLoginToken($token); //Do stuff 

Вы также можете кэшировать весь объект HttpClient с помощью Zend_Cache.

AuthSub или OAuth 2.0 (лучше, но без классов, предоставляемых ZF), может быть, лучше для ваших нужд, потому что токены не истекают (AuthSub) или могут быть обновлены (OAuth2)

Документы

AuthSub:

OAuth2: