我想在Android上为Gmail创建一个客户端应用程序(我已经看到有很多关于此问题的问题)。用于Android应用程序的Gmail的OAuthentication错误
(我见过类似这样的问题:How to integrate Gmail Api in android app但我的问题是不是与SHA1键)
我使用的Andorid的开发者网站上给出的链接:https://developers.google.com/gmail/api/quickstart/android
我在此基础上开展了第一项活动,并在Google开发者控制台中创建了API访问权限。
我使用usingOAuth拿到证书,
mCredential = GoogleAccountCredential.usingOAuth2(
getApplicationContext(), Arrays.asList(SCOPES))
.setBackOff(new ExponentialBackOff());
我看见了在我的手机配置的邮件ID列表,当我选择一个我称之为异步方法服务:
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();
}
这只能在异步服务的onCancelled()方法,并提供误差
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.
该应用程序试图连接到的网址是不是适当的一个
https://console.developers.google.com/apis/api/gmail/overview?project=608941808256
我不知道我在做什么错在这里,我认为我必须做的唯一事情是给无论是API或客户端ID在应用程序的某处。但我不确定我应该在哪里给这些常量?
对于相同的代码,当我在android 2.2上运行它时(在它是android 1.4之前),我已经开始工作了。我不确定问题是什么,我应该看看。但现在我有它的工作。 –