私の目標は、ドメインからすべてのユーザーの電子メール署名を更新することです。
ドメイン全体の委任権限を持つサービス アカウントをセットアップしました。しかし、私はこのエラーで立ち往生しています:
{
"error": {
"errors": [
{\n
"domain": "global",
"reason": "failedPrecondition",
"message": "Bad Request"
}
],
"code": 400,
"message": "Bad Request"
}
}
API Explorer によって実行されたものと同じリクエストを使用しています。したがって、適切にフォーマットする必要があります...
APIエクスプローラーでも適切に機能していません。私はこの答えを持っています:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Delegation denied for vivien@mydomain.com"
}
],
"code": 403,
"message": "Delegation denied for vivien@mydomain.com"
}
}
権限に問題があるようですが、理由がわかりません。
情報のための私のPHPテストコードは次のとおりです。
public function updateSignAction(){
putenv('GOOGLE_APPLICATION_CREDENTIALS='.$this->get('kernel')->getRootDir().'/../app/Resources/files/mydomain.json');
$client = new \Google_Client();
$client->useApplicationDefaultCredentials();
$client->setApplicationName("demo");
$client->addScope([
"https://www.googleapis.com/auth/gmail.settings.basic",
"https://www.googleapis.com/auth/gmail.settings.sharing"
]);
//$client->setSubject('vivien@mydomain.com');
$httpClient = $client->authorize();
$response = $httpClient->put(
'https://www.googleapis.com/gmail/v1/users/vivien@mydomain.com/settings/sendAs/test',
[
'json' => [
'signature' => "test-via-api"
]
]
);
return $this->render('AdminBundle:GoogleApi:user/update.html.twig', array(
'response' => $response->getBody()->getContents(),
));
}