- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我按照以下步骤部署了适用于 Java 的 DrEdit:
https://github.com/googledrive/dredit/tree/master/java
当我访问该应用程序时,我在 AppEngine 日志控制台中收到此错误!
2013-10-02 12:51:08.404
/start
java.lang.NullPointerException
at com.google.drive.samples.dredit.DrEditServlet.loginIfRequired(DrEditServlet.java:149)
at com.google.drive.samples.dredit.StartPageServlet.doGet(StartPageServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
这是第 149 行。credentialManager 为 null。
protected void loginIfRequired(HttpServletRequest req,
HttpServletResponse resp) {
Credential credential = getCredential(req, resp);
if (credential == null) {
// redirect to authorization url
try {
resp.sendRedirect(credentialManager.getAuthorizationUrl()); // line 149
应该在 init() 中设置
public void init() throws ServletException {
super.init();
// init credential manager
credentialManager = new CredentialManager(
getClientSecrets(), TRANSPORT, JSON_FACTORY);
}
我无法使用 System.out.println,因为它永远不会显示在日志中,即使我选择了“所有请求”。
我还收到 NoSuchMethodError:
Error for /
java.lang.NoSuchMethodError: com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets.load(Lcom/google/api/client/json/JsonFactory;Ljava/io/InputStream;)Lcom/google/api/client/googleapis/auth/oauth2/GoogleClientSecrets;
at com.google.drive.samples.dredit.DrEditServlet.getClientSecrets(DrEditServlet.java:249)
at com.google.drive.samples.dredit.DrEditServlet.init(DrEditServlet.java:88)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
这恰好是这一行:
249 return GoogleClientSecrets.load(JSON_FACTORY, stream);
我应该提到,当我访问 localhost:8888/start 时,它在本地工作正常,因为它只是将我发送到 Google 进行身份验证,但当它尝试重定向到 appspot.com/oauth2callback 时,它当然会失败。
最佳答案
“NoSuchMethodError”可能是您复制/粘贴的代码与您安装的 Google Oauth 库的版本不匹配。我的猜测是该库已更新,但 Google 没有回去更新 DrEdit 示例。如果您使用带有 Google 插件的 Eclipse,它将为您获取最新的库。
关于最后一点,要在本地服务器上测试 oauth,有一些技巧。
选项 1。在本地/etc/hosts 文件(或等效文件)127.0.0.1 dev.example.com
中创建一个条目。然后,您可以在 API 控制台中将 dev.example.com 配置为回调 URL。
选项 2. 使用 goo.gl 为 localhost:8000/mycallbackservlet 创建缩短的 URL,然后您可以在 API 控制台中将缩短的 URL 配置为回调 URL。 (注意,我使用选项 1,所以还没有亲自尝试过)。
在这两种情况下,您都需要修改代码以感知它正在本地开发服务器上运行,并相应地调整其回调 URL。
关于你的 NPE 问题,如果没有进一步的信息,显然很难说,但我的 2c 是 DrEdit 并不是理解 oauth 的一个很好的切入点。
第
关于java - Java 版 Google DrEdit 示例无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19145738/
我按照以下步骤部署了适用于 Java 的 DrEdit: https://github.com/googledrive/dredit/tree/master/java 当我访问该应用程序时,我在 Ap
我正在尝试让 Java DrEdit 示例在 GAE 上运行 完全 如 instructions 中所述.我已经到了这样的地步,我可以从文档创建一个新的“dredit”文档,允许身份验证并访问实际的应
我正在尝试运行 drive sdk android 示例 DrEdit ,但我遇到了一个异常(exception): 04-23 16:49:19.642: E/DriveSyncAdapter(11
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关于您编写的代码问题的问题必须在问题本身中描述具体问题 — 并且包括有效代码 以重现它。参见 SSC
我正在尝试在 Google App Engine 上为 Python 设置 Google 生成的名为“Dredit”的示例应用程序。此处的文档:https://developers.google.co
我在理解 DrEdit 示例应用程序中介绍的身份验证期间重定向的概念时遇到了问题。这里的 redirect_url 是通过从请求 url 中剥离所有参数来设置的: def CreateOAuthF
尝试运行 Google 驱动器示例时,我总是收到下面解释的错误。我检查了配置,它看起来是正确的。使用了最新版本的 appengine eclipse 插件。抛出的错误看起来就像方法:com.googl
我是一名优秀的程序员,十分优秀!