【问题标题】:Google Drive SDK DrEdit Java version returns 401 errorGoogle Drive SDK DrEdit Java 版本返回 401 错误
【发布时间】:2012-04-28 05:47:15
【问题描述】:

我正在尝试让 Java DrEdit 示例在 GAE 上运行完全,如 instructions 中所述。我已经到了可以从 docs 创建一个新的“dredit”文档,允许身份验证并进入实际应用程序的地步,但是对于返回 gdrive 的每个操作,我都会在 GAE 日志中得到这个:

Uncaught exception from servlet
com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 OK
{
  "code" : 401,
  "errors" : [ {
    "domain" : "global",
    "location" : "Authorization",
    "locationType" : "header",
    "message" : "Login Required",
    "reason" : "required"
  } ],
  "message" : "Login Required"
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:159) 

我在 7 日所做的与说明不同的地方:

在项目的 Eclipse 构建路径编辑器中,添加所有 JAR 在 war/WEB-INF/lib/ 目录下到项目的构建路径。

我也添加了 lib/dependencies 下的库,只是添加了 lib 留下了编译错误。

【问题讨论】:

    标签: java oauth-2.0 google-drive-api


    【解决方案1】:

    DrEdit Java 中存在一个错误,导致其发布,本质上是跳过检查令牌是否丢失。修复此错误的相关更改是here

    我认为应用该更改将为您解决问题。我还更新了此示例的指南。

    【讨论】:

    • 另外,感谢您对构建路径的评论。我也在文档中修复了这个问题。
    • 感谢收看。这摆脱了 401,但它现在只是默默地失败了。我将深入挖掘我的本地构建,这让我想起了我需要制作的另一篇文章......
    • 请继续发帖。 FWIW 我对此进行了相当广泛的测试,并相信它可以工作,所以很想解决任何不可行的边缘情况。
    • 我终于开始工作了,我在这里的回答中描述了最后一个问题 - stackoverflow.com/a/10370391/226469。感谢您的支持。
    • 另外一个问题,你不需要做任何事情,如果其他人搜索修复,更多。如果您的 GAE 项目启用了 Google Cloud SQL,则该功能的库(我认为是 google-sql)具有相同的异常处理方法(相同的包和类名),该方法会为 Java 版本的 DrEdit 提供复杂错误。我的解决方案是删除库:)。再次感谢您的帮助,应用已部署并在 Chrome 商店中运行。
    猜你喜欢
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    相关资源
    最近更新 更多