Google API PHP, проблемы олицетворения учетной записи службы

Я пробовал каждую комбинацию вещей, чтобы попытаться добиться некоторого прогресса в этом вопросе, но я никуда не доберусь. Я пытаюсь использовать служебную учетную запись для доступа к календарю пользователя в домене. Учетная запись службы настроена, похоже, работает нормально. Насколько я могу сказать, делегирование всего домена включено в соответствии с https://developers.google.com/identity/protocols/OAuth2ServiceAccount?hl=en_US#delegatingauthority. В моем коде ниже, Все работает нормально, пока я не установил учетную запись подражания и не получил ошибку в заголовке. Я видел различные посты о проверке подлинности пользователя, подражающего им, и т. Д., Но это не соответствует тому, что говорит Google. Я застрял.

$client = new Google_Client();
$client->setSubject('[email protected]');
$client->setAuthConfig($_SERVER['DOCUMENT_ROOT'] . '/private.json');
$client->setScopes(['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly']);

Это приведет к сбою любого типа запроса API с ошибкой:

Message: {
"error": "unauthorized_client",
"error_description": "Unauthorized client or scope in request."}

0

Решение

как твои дела?

Из-за пропущенного кода вы освобождаете область действия, которую будет использовать ваше приложение. Если вы хотите использовать Календарь Google, вы должны использовать это:

$ Client-> addScope (»https://www.googleapis.com/auth/calendar,https://www.googleapis.com/auth/calendar.readonly«);

Больше информации по областям применения:
Области OAuth 2.0 для API Google

🙂

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]