I am trying to build a client app for Gmail on android, (I have seen that there are a lot of questions on this).
(I have seen the question similar to this : How to integrate Gmail Api in android app. But my problem isn't with the SHA1-Key)
I am using the link given in the Andorid developer site: https://developers.google.com/gmail/api/quickstart/android
I have made the first activity based on this and have also created the API access in the google developers console.
I am using the usingOAuth to get the credentials ,
mCredential = GoogleAccountCredential.usingOAuth2(
getApplicationContext(), Arrays.asList(SCOPES))
.setBackOff(new ExponentialBackOff());
I am able to view the list of mail IDs that are configured in my phone, and when I select one I call the method in the Async service :
public MakeRequestTask(GoogleAccountCredential credential) {
HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
mService = new com.google.api.services.gmail.Gmail.Builder(
transport, jsonFactory, credential)
.setApplicationName("mailclient")
.build();
}
This only goes to the onCancelled() method in the Async service and provides the error
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: {
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: "code" : 403,
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: "errors" : [ {
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: "domain" : "usageLimits",
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: "message" : "Access Not Configured. Gmail API has not been used in project 608941808256 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/gmail/overview?project=608941808256 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: "reason" : "accessNotConfigured",
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: "extendedHelp" : "https://console.developers.google.com/apis/api/gmail/overview?project=608941808256"
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: } ],
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: "message" : "Access Not Configured. Gmail API has not been used in project 608941808256 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/gmail/overview?project=608941808256 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: }
10-20 01:58:23.456 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1065)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at sevenre.dinesh.de.com.mailclient.MainActivity$MakeRequestTask.getDataFromApi(MainActivity.java:358)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at sevenre.dinesh.de.com.mailclient.MainActivity$MakeRequestTask.doInBackground(MainActivity.java:340)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at sevenre.dinesh.de.com.mailclient.MainActivity$MakeRequestTask.doInBackground(MainActivity.java:320)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:292)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
10-20 01:58:23.457 13659-13659/sevenre.dinesh.de.com.mailclient W/System.err: at java.lang.Thread.run(Thread.java:818)
10-20 01:58:32.709 13659-13659/sevenre.dinesh.de.com.mailclient W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
The URL that the app tries to connect to is not a proper one
https://console.developers.google.com/apis/api/gmail/overview?project=608941808256
I am not sure what am I doing wrong here, the only thing I believe I have to do is give either the API or Client ID somewhere in the App. But I am not sure where should I give those constants ?