2015-05-02 33 views
0

当您在企业HTTP代理后面时,是否可以使用Gmail REST API检索电子邮件(包含完整正文)?当您使用公司代理时,可以使用Gmail REST Api吗?

如果是这样,有人可以提供一个Java示例,以至少使用代理进行连接,所以我可以自己找出其余的东西吗?

好了,我看到我的问题已经被标记为重复的,而且我给出以下链接: How do I make HttpURLConnection use a proxy?

这并不能帮助我。我指的是Gmail REST API(https://developers.google.com/gmail/api/quickstart/quickstart-java)。看看我发送的quickstart链接,它不使用HttpURLConnection。

如果有人在将我的问题标为重复项目之前询问我,这样就会很有礼貌并且很有成效,从而使我的工作倍增。

所以我再问一次,如果我在公司代理的后面,如何连接到Gmail REST API?为了避免混淆,请回答上面发送的快速入门链接中提供的示例。

+1

看起来这个问题确实回答了你问的问题。 Gmail REST可以在防火墙后面访问吗?是。 [这个答案](http://stackoverflow.com/a/1433296/442351)说如何连接到一个REST接口。 – BanksySan

+0

尝试按[此处]所述设置系统属性(http://i4t.org/2007/05/04/java-http-proxy-settings/)。使用HttpUrlConnection是很好的机会,或者Google API支持这些设置 –

回答

0

我从很久以前就一直在寻找相同的东西,最后我能够注入公司代理并成功连接到Gmail REST API。

在这里你去 - 为了得到这个工作,你需要添加下面的代码片段在https://developers.google.com/gmail/api/quickstart/quickstart-java

static HttpTransport newProxyTransport() throws GeneralSecurityException, IOException { NetHttpTransport.Builder builder = new NetHttpTransport.Builder(); builder.trustCertificates(GoogleUtils.getCertificateTrustStore()); builder.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.1", 8080))); return builder.build(); }

调用newProxyTransport()在quickStart.java如下:

static { try { HTTP_TRANSPORT = newProxyTransport(); DATA_STORE_FACTORY = new FileDataStoreFactory(DATA_STORE_DIR); } catch (Throwable t) { t.printStackTrace(); System.exit(1); } }

希望这有助于:-)

相关问题