【问题标题】:Android setting up credential using Google APIAndroid 使用 Google API 设置凭据
【发布时间】:2019-05-01 09:39:41
【问题描述】:

我想创建一个 Android 应用程序并使用 Google People Api。我按照本教程中的所有步骤操作:https://developers.google.com/people/v1/getting-started。

所以我在 Google Api Console 中创建了一个新项目,获取 Web 应用程序的客户端 ID 和客户端密码,设置同意屏幕 oauth。最后,我尝试运行可以在上面的链接中看到的 google 代码,但是在创建“GoogleTokenResponse”时出现异常。

即使我觉得它没有用,我也会发布异常:

Process: simone.biliato.testpeopleapi, PID: 13067
java.lang.RuntimeException: Unable to start activity ComponentInfo{simone.biliato.testpeopleapi/simone.biliato.testpeopleapi.MainActivity}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2658)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723)
    at android.app.ActivityThread.access$900(ActivityThread.java:172)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:5832)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
 Caused by: java.lang.NullPointerException
    at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770)
    at com.google.api.client.util.Preconditions.checkNotNull(Preconditions.java:127)
    at com.google.api.client.auth.oauth2.AuthorizationCodeTokenRequest.setCode(AuthorizationCodeTokenRequest.java:147)
    at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.setCode(GoogleAuthorizationCodeTokenRequest.java:147)
    at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.setCode(GoogleAuthorizationCodeTokenRequest.java:79)
    at com.google.api.client.auth.oauth2.AuthorizationCodeTokenRequest.<init>(AuthorizationCodeTokenRequest.java:103)
    at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.<init>(GoogleAuthorizationCodeTokenRequest.java:111)
    at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.<init>(GoogleAuthorizationCodeTokenRequest.java:92)
    at simone.biliato.testpeopleapi.MainActivity.setUp(MainActivity.java:63)
    at simone.biliato.testpeopleapi.MainActivity.onCreate(MainActivity.java:27)
    at android.app.Activity.performCreate(Activity.java:6221)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2611)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723) 
    at android.app.ActivityThread.access$900(ActivityThread.java:172) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 

有人有同样的经历吗?有没有可行的例子? 我需要使用“谷歌按钮登录”吗?

【问题讨论】:

  • 分享你的代码@Simone

标签: android oauth credentials


【解决方案1】:

我认为您可以尝试使用以下示例: https://github.com/sdivakarrajesh/Google-Drive-Java-API

它适用于 Google Drive Api,但您可以使用代码获取权限,然后更改范围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-15
    • 2017-08-21
    • 1970-01-01
    • 2017-04-04
    • 2021-03-31
    • 2017-05-26
    • 2015-08-30
    • 1970-01-01
    相关资源
    最近更新 更多