Подключение к Google Sites API в качестве сервисного аккаунта

Я пытаюсь прочитать канал из учетной записи Google Sites (приложения Google). Мне не нужно, чтобы мое приложение требовало от каждого пользователя входа в систему, поэтому я создал свой ClientID как «Учетную запись службы» в «консоли Google API». Я добавил этот идентификатор клиента и область действия (https://sites.google.com/feeds/) на страницу «Управление доступом к клиенту API» в панели управления приложениями Google.

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

// api dependencies
require_once(GOOGLE_API_PATH);

// create client object and set app name
$client = new Google_Client();
$client->setApplicationName(GOOGLE_API_NAME);

// set assertion credentials
$client->setAssertionCredentials(

new Google_AssertionCredentials(

GOOGLE_API_EMAIL,
array(GOOGLE_API_SCOPE),
file_get_contents(GOOGLE_API_PK) 
));

$client->setClientId(GOOGLE_API_CLIENTID);

// create service

$req = new Google_HttpRequest("https://sites.google.com/feeds/content/<herismydomainname.com>/intranet");
$val = $client->getIo()->authenticatedRequest($req);

// The contacts api only returns XML responses.
$response = json_encode($val->getResponseBody());
print "<pre>" . print_r(json_decode($response, true), true) . "</pre>";

Я получаю ответ: «Не авторизован для доступа к этому каналу». Когда я пытаюсь получить этот канал на игровой площадке OAuth2.0, входя в систему с помощью моей учетной записи приложений Google, я получаю ожидаемый ответ. Что я здесь упускаю?


person Han Dijk    schedule 22.10.2012    source источник
comment
Я также ищу способ прочитать ленту в учетной записи Google Sites, просто узнайте, нашел ли это решение.   -  person Chetabahana    schedule 24.04.2018


Ответы (1)


Аккаунты служб и Сайты Google в настоящее время нельзя использовать вместе. Службы Google предоставляют секрет потребителя, который можно использовать для доступа к данным в вашем домене в виде двустороннего протокола OAuth в OAuth 1.0a.

Посетите http://support.google.com/a/bin/answer.py?hl=ru&answer=162105, чтобы узнать, как настроить учетную запись Google Apps, а также пример кода по адресу https://developers.google.com/gdata/docs/auth/oauth#.2LeggedOAuth.

person hexedpackets    schedule 22.10.2012