2015-05-02 66 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); } }

希望這有助於:-)

相關問題