Skip to content

Gmail API Java Quickstart Exception checkArgument(Preconditions.java:131) #220

Open

Description

@ptro46

Summary

I follow this quickstart https://developers.google.com/gmail/api/quickstart/java
I create a project and enable the Gmail API
https://developers.google.com/workspace/guides/create-project
I create credentials
https://developers.google.com/workspace/guides/create-credentials
API Key, OAuth client ID, and a Service Account, I download the json file while I create the key in service Account, and I put this file as credentials.json in src/main/resources

Sample Name

Gmail Java Quickstart

Expected Behavior

no exception

Actual Behavior

$ gradle run

Task :run FAILED
Exception in thread "main" java.lang.IllegalArgumentException
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:131)
at com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:35)
at com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets.getDetails(GoogleClientSecrets.java:80)
at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow$Builder.(GoogleAuthorizationCodeFlow.java:211)
at GmailQuickstart.getCredentials(GmailQuickstart.java:55)
at GmailQuickstart.main(GmailQuickstart.java:69)

Specifications

  • Java version (java -version)
    $ java -version
    java version "18.0.1.1" 2022-04-22
    Java(TM) SE Runtime Environment (build 18.0.1.1+2-6)
    Java HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)

  • OS Mac

Activity

  1. ptro46 commented on May 20, 2022

    @ptro46
    Author

    well, I found the response, first i use the json build from ID clients OAuth 2.0 and not the json build from service Account, and then in ID clients OAuth 2.0 i add the URL in backend section : http://localhost:8888/Callback, and it's ok

  2. erikacamilleri commented on Jul 8, 2022

    @erikacamilleri

    I am experiencing this issue as well in a maven project. I am not quite understanding @ptro46 comment. However, it seems to be a configuration issue from the Google console rather than the code. Can instructions be clearer and more beginner friendly please?

  3. ptro46 commented on Jul 8, 2022

    @ptro46
    Author

    Hi @erikacamilleri in fact I was not using the correct json, when following their doc there are two different json generated and I was not using the correct one, taking the other it worked

  4. gianluca-valentini commented on Sep 27, 2022

    @gianluca-valentini

    Hi @ptro46
    can you explain the steps that you did to fix your issue?
    I follow all the steps and create the json from service-account key. But I have the follow error

    Exception in thread "main" java.lang.IllegalArgumentException
    	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:121)
    	at com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:35)
    	at com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets.getDetails(GoogleClientSecrets.java:80)
    	at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow$Builder.<init>(GoogleAuthorizationCodeFlow.java:211)
    	at tech.sharelock.google.drive.AdminSDKReportsQuickstart.getCredentials(AdminSDKReportsQuickstart.java:65)
    	at tech.sharelock.google.drive.AdminSDKReportsQuickstart.main(AdminSDKReportsQuickstart.java:74)
    

    it is the same stack trace

    This is my configuration

    image

    image

    The downloaded json is what i use as credential.json
    Where am I doing wrong?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions