1

Я пытаюсь использовать API Google для чтения электронных писем, и я неоднократно получаю хорошие результаты. Предполагается, что это серверная учетная запись сервера, которая периодически запускается в фоновом режиме, но я не могу подключить ее. Код является основным:Ошибка API Google (Gmail) с неудачным предварительным условием 400

 GoogleCredential credential; 
     using (var stream = new FileStream("Content/service_credential.json", FileMode.Open, FileAccess.Read)) 
     { 
      credential = GoogleCredential.FromStream(stream); 
      credential = credential.CreateScoped(new[] { GmailService.Scope.GmailModify }); 
     } 

     var service = new GmailService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = credential, 
      ApplicationName = "try-apis", 
     }); 


     ListLabelsResponse response = service.Users.Labels.List("me").Execute(); 
     foreach (Label label in response.Labels.OrderBy(p => p.Name)) 
     { 
      Console.WriteLine(label.Id + " - " + label.Name); 
     } 

     Console.Read(); 

Ошибка:

Additional information: Google.Apis.Requests.RequestError 

Bad Request [400] 

Errors [ 

    Message[Bad Request] Location[ - ] Reason[failedPrecondition] Domain[global] 

] 

В IAM настройках учетной записи я использую имеет полные права доступа: enter image description here

счет имеет полные права доступа: enter image description here

Аналогичным образом, более полные разрешения: enter image description here

Что мне не хватает? Я не могу найти каких-либо репрезентативных запросов .Net, которые имеют смысл только подключиться к коробке.

Спасибо, Джеймс

+0

Исходя из этого [ blog] (http://techathlon.com/fix-bad-request-error-400-gmail-google-chrome/), возможно, вы столкнулись с ошибкой Bad Request 400, если вы вошли в несколько аккаунтов Google для Gmail, используя Chrome , Из этого [SO question] (http://stackoverflow.com/questions/32591549/gmail-api-400-bad-request-when-trying-to-send-an-email-php-code), может быть, у вас есть проблемы с аутентификацией. Проверьте эту ссылку: http://stackoverflow.com/questions/29327846/gmail-rest-api-400-bad-request-failed-precondition – abielita

ответ

0

Я никогда не видел, как в IAM предоставить общедоменную делегацию раньше.

Обычно разработчик ID в белом списке в области CPanel, как описанные в этих Документах (. Абзац, в котором говорится, «Затем администратор домена Служб Google необходим выполнить следующие шаги») https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority