【问题标题】:Get OAuth access token to Drive API for AppEngine from an Android application从 Android 应用程序获取对 Drive API for AppEngine 的 OAuth 访问令牌
【发布时间】:2013-06-09 22:02:30
【问题描述】:

我想要达到的目标:

从用户 Android 智能手机的 AppEngine 应用程序获取访问令牌以访问 Google Drive API。

我有一个 Android 应用程序和一个带有端点的 GAE 服务器。 除了创建指向 GAE 处理程序 (https://developers.google.com/drive/examples/python#authorization) 的 webview 之外,还有其他方法吗?

我想使用播放服务,因为它应该更方便,但后来我被 android client_secret 等卡住了。

谢谢

编辑

我尝试了下面的建议,但我得到了这个异常

06-14 18:07:33.032: W/System.err(12378): com.google.android.gms.auth.GoogleAuthException: Unknown
06-14 18:07:33.052: W/System.err(12378):    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
06-14 18:07:33.052: W/System.err(12378):    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
06-14 18:07:33.052: W/System.err(12378):    at edu.kaist.wst660.bmaingret.android.MainActivity.getAndUseAuthTokenBlocking(MainActivity.java:361)
06-14 18:07:33.057: W/System.err(12378):    at edu.kaist.wst660.bmaingret.android.MainActivity$10.doInBackground(MainActivity.java:405)
06-14 18:07:33.057: W/System.err(12378):    at edu.kaist.wst660.bmaingret.android.MainActivity$10.doInBackground(MainActivity.java:1)
06-14 18:07:33.062: W/System.err(12378):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
06-14 18:07:33.062: W/System.err(12378):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
06-14 18:07:33.062: W/System.err(12378):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
06-14 18:07:33.062: W/System.err(12378):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
06-14 18:07:33.067: W/System.err(12378):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
06-14 18:07:33.072: W/System.err(12378):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
06-14 18:07:33.072: W/System.err(12378):    at java.lang.Thread.run(Thread.java:856)

我见过更详细的异常...

注意:我点击此链接http://developer.android.com/reference/com/google/android/gms/auth/GoogleAuthUtil.html 使用此范围 oauth2:server:client_id:xxxxxxxx.apps.googleusercontent.com:api_scope:https://www.googleapis.com/auth/drive.file

【问题讨论】:

    标签: android google-app-engine google-drive-api google-oauth google-play-services


    【解决方案1】:

    建议阅读以下我认为可以解决您描述的情况的文档:https://developers.google.com/accounts/docs/CrossClientAuth

    【讨论】:

    • 嗡嗡声,看起来确实是我想要的。我会尝试并回来:) 谢谢(“跨客户端”......有道理)
    • 关于我的upadet。我只是尝试使用常规范围(oauth2:blabla/drive.file)并且它确实有效......所以它一定是范围的问题
    • 所以我尝试使用 Postman for chrome。我遇到了一些问题,但设法让它工作,所以我可能会使用 webview ......因为解决方案似乎不起作用
    猜你喜欢
    • 2021-01-10
    • 2012-08-12
    • 2015-04-17
    • 2017-04-11
    • 1970-01-01
    • 2012-06-21
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多