googleapi: ошибка 400: неверный запрос, не выполнено условие - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь получить информацию о сообщениях из API Google, используя учетную запись службы и JWT.

Я уже включил делегирование по всему домену.Вероятно, я должен упомянуть, что я не администратор GSuite, а просто пользователь, который пытается получать сообщения из моей папки «Входящие» с помощью сценария Go.

func main() {
    data, err := ioutil.ReadFile("JWT_Credentials.json")

    conf, err := google.JWTConfigFromJSON(data, gmail.GmailReadonlyScope)
    client := conf.Client(oauth2.NoContext)

    // Create a new gmail service using the client
    gmailService, err := gmail.New(client)

    fullMessage, err := gmailService.Users.Messages.Get("me", message.Id).Format("metadata").Do()
    if err != nil {
         log.Printf("Error: %v", err)
    }
}

и мои учетные данные JWT выглядят следующим образом:

{
    "type": "service_account",
    "project_id": "PROJECT_ID",
    "private_key_id": "PRIVATE_KEY_ID",
    "private_key": "-----BEGIN PRIVATE KEY-----\PRIVATE_KEY",
    "client_email": "SERVICE@PROJECT_ID.iam.gserviceaccount.com",
    "client_id": "CLIENT_ID",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url": 
    "https://www.googleapis.com/oauth2/v1/certs",
    "client_x509_cert_url": "CERT_URL"
}

При выполнении кода появляется следующая ошибка:

 googleapi: Error 400: Bad Request, failedPrecondition

Если у кого-нибудь есть решение этой проблемы или он встречался в прошлом, пожалуйста, помогите мне!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...