Я пытаюсь получить данное письмо из моего собственного почтового ящика (как владельца проекта) с помощью Google API 2.0.0 RC4 для PHP.failedPrecondition error при аутентификации с учетной записью сервиса API Google
У меня есть настройка проекта, загруженный файл аутентификации в формате JSON, и я включил API gmail в Google Developers Console.
Но когда я запускаю следующий код, я получаю ошибку «Bad Request» с причиной «failedPrecondition». Теперь это заставляет меня поверить, что с правами доступа что-то не так, но я не могу понять, что мне нужно делать здесь.
Код:
<?php
require_once("google-api-php-client-2.0.0-RC4/vendor/autoload.php");
$client = new Google_Client();
// set the scope(s) that will be used
$client->setScopes(["https://www.googleapis.com/auth/gmail.readonly"]);
$client->setApplicationName("MyProject");
// set the authorization configuration using the 2.0 style
$client->setAuthConfigFile("myAuthFile.json");
$gmailHandle = new Google_Service_Gmail($client);
$messages = $gmailHandle->users_messages->get("[email protected]", "12343445asd56");
echo json_encode($messages);
?>
И полная ошибка выглядит следующим образом:
Fatal error: Uncaught exception 'Google_Service_Exception' with message '{ "error": { "errors": [ { "domain": "global", "reason": "failedPrecondition", "message": "Bad Request" } ], "code": 400, "message": "Bad Request" } } '
Попробуйте использовать строку '' me '' вместо '' [email protected]'' в GET-запросе. Любая разница? – Tholle
@Tholle К сожалению, это дало мне тот же результат. Что бы я сказал мне, если бы у меня было несколько админов, подключенных к моей учетной записи службы? –
Это очень хороший вопрос, мои извинения. Я не заметил, что это была учетная запись службы в названии. Может быть, адрес электронной почты должен быть закодирован в url, а клиентская библиотека не сделает это за вас? Если нет, то я не знаю :('' @ "' => '"% 40 "' – Tholle