使用google-api-java-client时访问被拒绝的异常

时间:2013-09-10 05:54:49

标签: google-app-engine google-api-java-client

我正在尝试使用google-api-java-client for OAuth2.0创建一个简单的第三方应用来访问基于OAuth2.0的网络服务。

当我尝试初始化

时程序中断
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.net.NetPermission getProxySelector)     at java.security.AccessControlContext.checkPermission(AccessControlContext.java:376)     在java.security.AccessController.checkPermission(AccessController.java:549)     在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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

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

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