Я начинаю использовать Google Gmail API и столкнулся с проблемой, которую мне трудно понять, с возможной идеей отправлять электронные письма через сервис Google IMAP. Это генерируется веб-сервером с использованием PHP и учетной записи службы Gmail / Gsuite, для которой установлен полный доступ.
<?php
require_once 'googleapi/vendor/autoload.php';
putenv('GOOGLE_APPLICATION_CREDENTIALS=googleapi/access.json');
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope('https://www.googleapis.com/auth/gmail.labels');
$service = new Google_Service_Gmail($client);
// Print the labels in the user's account.
$user = 'admin@xxxx.com';
$results = $service->users_labels->listUsersLabels($user);
if (count($results->getLabels()) == 0) {
print "No labels found.\n";
} else {
print "Labels:\n";
foreach ($results->getLabels() as $label) {
printf("- %s\n", $label->getName());
}
}
?>
Возвращается бесполезное сообщение об ошибке:
Fatal error: Неперехваченное исключение 'Google_Service_Exception' с сообщением '{"error": {"code": 400, "message": "Ошибка проверки предварительного условия.", "errors": [{"message": "Ошибка проверки предварительного условия.", "domain": "global", "reason": "failedPrecondition"}], "status": "FAILED_PRECONDITION"}} 'в /home/thishost/public_html/domain.com/admin/googleapi/src/Google/Http/ REST. php: 123 Трассировка стека: # 0 /home/thishost/public_html/domain.com/admin/googleapi/src/Google/Http/REST.php(98): Google_Http_REST :: decodeHttpResponse (Object (GuzzleHttp \ Psr7 \ Response), Object (GuzzleHttp \ Psr7 \ Request), 'Google_Service _...') # 1 [внутренняя функция]: Google_Http_REST :: doExecute (Object (GuzzleHttp \ Client), Object (GuzzleHttp \ Psr7 \ Request), 'Google_Service _...') # 2 /home/thishost/public_html/domain.com/admin/googleapi/sr c / Google / Task / Runner. php (176): call_user_func_array (массив, массив) # 3 /home/thishost/public_html/domain.com/admin/googleapi/src/Google/Http/REST.php ( 61): Google_Task_Runner-> run () # 4 / home / thishost / public_htm в /home/thishost/public_html/domain.com/admin/googleapi/src/Google/Http/REST.php в строке 123