Google API (Gmail) failing with failed precondition 400

gmail api
google calendar api service account
google api error codes
gmail api service account
gmail api bad request
google api oauth2 service account
gmail api send email
google api reference

I am trying to use the google APIs to read emails and I'm repeatedly failing to get good results. It is supposed to be a server->server account that runs periodically in the background, but I can't get it to connect. The code is basic:

GoogleCredential credential;
using (var stream = new FileStream("Content/service_credential.json", FileMode.Open, 
    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);



Additional information: Google.Apis.Requests.RequestError

Bad Request [400]

Errors [

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


In IAM settings, the account I'm using has full permissions:

The account has full permissions:

Likewise, more full permissions:

What am I missing? I can't find any representative .Net requests that make sense in just connecting to an in box.

I've never seen a way in IAM to grant domain-wide delegation before.

Typically the developer ID is whitelisted in the domain CPanel like described in these docs.

(The paragraph that says "Then an administrator of the Google Apps domain must complete the following steps".)

Google API (Gmail) failing with failed precondition 400, Google API (Gmail) failing with failed precondition 400. Question. I am trying to use the google APIs to read emails and I'm repeatedly failing to get good results. Google API (Gmail) failing with failed precondition 400. Ask Question Asked 3 years, 2 months ago. Golang - Gmail API 400 BadRequest Failed Precondition. 0.

I had this same issue. XLSX documents uploaded into Google Drive (Sheets) do not support Google Sheets API. Copying the data into a sheet created directly in Google Sheets resolved the issue.

Handle API Errors | Calendar API, Suggested actions: Get a new access token using the long-lived refresh token. If this fails, direct the user through the OAuth flow, as described  When using project factory to create the projects (during today's training - was online), I couldn't get the project created My billing account definitely exists and is correct in the shape 'XXXXXX-XXXXXX-XXXXXX'.

Specify the user that you want to get messages for. In your case, it'd look like this:

credential = GoogleCredential
                .CreateScoped(new[]{ GmailService.Scope.GmailModify })**
                .CreateWithUser("me") **;

ERROR: 400: Invalid forwarding address , ERROR: 400: Invalid forwarding address - failedPrecondition the error and found this article:​400-bad-request-failed-precondition Step 2 will fail until us. HTTP 400: FAILED_PRECONDITION. A FAILED_PRECONDITION is returned when the user attempts an action that cannot be permitted, either because the user has hit a limit or an application state, such as

java, which fails this: scopes com.​google.api.client.googleapis.json.googlejsonresponseexception: 400 bad request { "code" gmail rest api : 400 bad request + failed precondition. Retry failed requests to resolve errors. You can periodically retry a failed request over an increasing amount of time to handle errors related to rate limits, network volume, or response time. For example, you might retry a failed request after one second, then after two seconds, and then after four seconds.

JWT google-auth-library, I try to get emails from gmail by Google API/Jwt authorizaton (by JWT google-​auth-library - bad request (400, failedPrecondition) #259. Introducing the Gmail API This video gives developers a history of programmatic access to email and the motivation that led to why an API for Gmail was created. With the Gmail API, go beyond what standard email protocols allow you to do!

Errors | Cloud APIs, These cover the most common needs for API errors, such as quota failure and invalid 400, INVALID_ARGUMENT, Client specified an invalid argument. Groundbreaking solutions. Transformative know-how. Whether your business is early in its journey or well on its way to digital transformation, Google Cloud's solutions and technologies help chart a path to success.