私は試してこの問題についていくつかの進歩を得るためにあらゆる組み合わせを試しましたが、どこにも行けません。私はサービスアカウントを使用してドメイン上のユーザーのカレンダーにアクセスしようとしています。サービスアカウントがセットアップされていて、正常に動作しているようです。私がドメイン全体の代表団に言うことができる限り、https://developers.google.com/identity/protocols/OAuth2ServiceAccount?hl=en_US#delegatingauthorityに従って有効になっています。下のコードでは、偽装アカウントを設定するまではすべてが正常に機能し、タイトルにエラーが表示されます。私は偽装者のユーザーなどを認証することについて様々な異なる投稿を見てきましたが、それはGoogleの言うことと一致していないようです。私は立ち往生している。Google API PHP、サービスアカウントのなりすましの問題
$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."
}
感謝。私はそのセットを持っていたが、元の質問には含まれていませんでしたが、更新されました。 –
Google管理コンソールで作成したサービスキーを管理コンソールに追加しましたか? 次のチュートリアル:https://developers.google.com/api-client-library/php/auth/service-accounts#delegatingauthority –