自分のアカウントとそのレビューに関連付けられた場所にアクセスしたいので、Google My Business API を使用していて、それにアクセスできます (oAuthplayground で動作します)。
今、私は自分のアカウントにログインせずに Google マイ ビジネス API にアクセスしたいので、サービス アカウントで動作させようとしています。しかし、今のところうまくいきません。これをどのように進めるかアドバイスをお願いします。サービス アカウントで G Suite を有効にし、ビジネス管理用にサービス アカウントのメール (ID) へのアクセスを許可しようとしましたが、実際に招待を受け入れる方法がないため、招待状態のままです。
自分のアカウントを件名として使用してリクエストを送信しようとすると。
$client = new Google_Client();
$client->addScope('https://www.googleapis.com/auth/plus.business.manage');
$client->setAuthConfig(dirname(__FILE__) . '/Xyz Review API-service account.json');
$client->setSubject('xyz*****abc@gmail.com');
$business_service_class = new Google_Service_Mybusiness($client);
$result_accounts = $business_service_class->accounts->listAccounts();
echo json_encode($result_accounts);
exit;
応答: {"nextPageToken":null}
件名のメール ID として Google サービス アカウント ID を使用すると、次の応答が返されます。
$client->setSubject('xyz-review-service@xyz-review-api.iam.gserviceaccount.com');
Response: エラー 500 { "error": "unauthorized_client", "error_description": "リクエストのクライアントまたはスコープが許可されていません。" }
私がこれを完全に間違っている場合は、これをどのように進めるかアドバイスしてください。ありがとうございました。