Java GmailApi在Android上获取消息
我正在尝试使用GmailApi从gmail获取所有消息,但是当我运行代码时,这个错误出现了 “java.lang.RuntimeException:无法启动活动组件信息{com.yousefelsayed.myemail/com.yousefelsayed.myemail.MainActivity}:java.lang.IllegalArgumentException:名称不能为空:null” 它告诉我错误来自这条线Java GmailApi在Android上获取消息,java,android,android-studio,gmail-api,Java,Android,Android Studio,Gmail Api,我正在尝试使用GmailApi从gmail获取所有消息,但是当我运行代码时,这个错误出现了 “java.lang.RuntimeException:无法启动活动组件信息{com.yousefelsayed.myemail/com.yousefelsayed.myemail.MainActivity}:java.lang.IllegalArgumentException:名称不能为空:null” 它告诉我错误来自这条线 ListThreadsResponse listResponse = mSer
ListThreadsResponse listResponse = mService.users().threads().list("me").execute();
有什么问题
霉菌代码:
mCredential = GoogleAccountCredential.usingOAuth2(
getApplicationContext(), SCOPES)
.setBackOff(new ExponentialBackOff());
HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
mService = new com.google.api.services.gmail.Gmail.Builder(
transport, jsonFactory, mCredential)
.setApplicationName(getResources().getString(R.string.app_name))
.build();
try {
ListThreadsResponse listResponse = mService.users().threads().list("me").execute();
} catch (IOException e) {
e.printStackTrace();
}
编辑:
完全错误:
05-28 09:15:39.836 22385-22385/com.yousefelsayed.myemail E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.yousefelsayed.myemail, PID: 22385
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yousefelsayed.myemail/com.yousefelsayed.myemail.MainActivity}: java.lang.IllegalArgumentException: the name must not be empty: null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2583)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5765)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
Caused by: java.lang.IllegalArgumentException: the name must not be empty: null
at android.accounts.Account.<init>(Account.java:48)
at com.google.android.gms.auth.zzg.getToken(Unknown Source)
at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:267)
at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:292)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:880)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:542)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:475)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:592)
at com.yousefelsayed.myemail.MainActivity.onCreate(MainActivity.java:136)
at android.app.Activity.performCreate(Activity.java:6301)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2530)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5765)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
05-28 09:15:39.836 22385-22385/com.yousefelsayed.myemail电子邮件/AndroidRuntime:致命异常:main
进程:com.yousefelsayed.myemail,PID:22385
java.lang.RuntimeException:无法启动活动组件信息{com.yousefelsayed.myemail/com.yousefelsayed.myemail.MainActivity}:java.lang.IllegalArgumentException:名称不能为空:null
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2583)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2665)
位于android.app.ActivityThread.-wrap11(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499)上
位于android.os.Handler.dispatchMessage(Handler.java:111)
位于android.os.Looper.loop(Looper.java:207)
位于android.app.ActivityThread.main(ActivityThread.java:5765)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
原因:java.lang.IllegalArgumentException:名称不能为空:null
在android.accounts.Account.(Account.java:48)
位于com.google.android.gms.auth.zzg.getToken(未知来源)
在com.google.android.gms.auth.GoogleAuthUtil.getToken(未知来源)
在com.google.api.client.GoogleAppis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:267)
在com.google.api.client.GoogleAppis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:292)
位于com.google.api.client.http.HttpRequest.execute(HttpRequest.java:880)
位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:542)
位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:475)
位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:592)
位于com.yousefelsayed.myemail.MainActivity.onCreate(MainActivity.java:136)
位于android.app.Activity.performCreate(Activity.java:6301)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2530)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2665)
位于android.app.ActivityThread.-wrap11(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499)上
位于android.os.Handler.dispatchMessage(Handler.java:111)
位于android.os.Looper.loop(Looper.java:207)
位于android.app.ActivityThread.main(ActivityThread.java:5765)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
05-2809:15:39.983805-1769/?E/Sensors:handleToDriver handle(0)我建议您提出问题,并发布所获得的整个堆栈跟踪。不确定这是否会解决问题,但您使用的是不推荐使用的类和方法。应该使用而不是来构建服务。调用本身似乎没有问题。我使用了这个类,但我建议您遵循相同的错误。我建议您回答问题并发布您得到的整个堆栈跟踪。不确定这是否会解决问题,但您使用的是不推荐的类和方法。应该使用而不是来构建服务。调用本身似乎是正确的。我使用了这个类,但我建议您遵循相同的错误。