0

我正在尝试将 google-api-java-client 用于 OAuth2.0 来创建一个简单的第 3 方应用程序来访问基于 OAuth2.0 的 Web 服务。

当我尝试初始化时程序中断

private static final HttpTransport HTTP_TRANSPORT = new ApacheHttpTransport();

它们被导入为:

导入 com.google.api.client.http.HttpTransport;

导入 com.google.api.client.http.apache.ApacheHttpTransport;

这是一个在 Eclipse 中使用 Google App Engine 插件的简单 Web 应用程序项目。

引起:java.security.AccessControlException:在 java.security.AccessController.checkPermission(AccessController.java:549) 的 java.security.AccessControlContext.checkPermission(AccessControlContext.java:376) 的访问被拒绝 (java.net.NetPermission getProxySelector) java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 在 com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:383) 在 java.net.ProxySelector.getDefault(ProxySelector.java: 73) 在 com.google.api.client.http.apache.ApacheHttpTransport.newDefaultHttpClient(ApacheHttpTransport.java:157) 在 com.google.api.client.http.apache.ApacheHttpTransport.(ApacheHttpTransport.java:100) 在 com. mytest.demo.TestApiDemoServlet.(TestApiDemoServlet.java:17)

我正在使用 App Engine 1.8.4 和 google-api-java-client 1.16.0-rc

任何帮助将不胜感激!

4

1 回答 1

1

您不能在 GAE 环境中使用 ApacheHttpTransport,因为这是受限制的。这就是它失败的原因。您需要改用UrlFetchTransport,它应该可以工作。要使用它,您需要直接从此链接导入相应的 jar 并放入您的 libs 或 jar 文件夹 -

https://code.google.com/p/google-http-java-client/wiki/Setup#google-http-client-appengine

于 2013-10-18T20:08:21.310 回答