-1
我使用java和gdata API來管理日曆的數據。但是,只有當我可以直接訪問互聯網時纔有效。在我的情況下,我必須使用代理。有沒有辦法通過代理管理我的Google日曆數據?帶代理的Google Data API客戶端庫
心中已經試過這樣:
System.setProperty("http.proxyHost", "myproxy.mydomain.com");
System.setProperty("http.proxyPort", "3128");
URL feedUrl = new URL("http://www.google.com/calendar/feeds/....");
CalendarService myService = new CalendarService("exampleCo-exampleApp-1");
String encoded = new String(Base64.encodeBase64(new String("proxy_user:proxy_password").getBytes()));
String base64encodedCredentials = "Basic " + encoded;
myService.getRequestFactory().setPrivateHeader("Proxy-Authorization", base64encodedCredentials);
//!!! Exception in this line
myService.setUserCredentials("[email protected]", "my_google_password");
例外:
Exception in thread "main" com.google.gdata.util.AuthenticationException: Error connecting with login URI
at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(GoogleAuthTokenFactory.java:549)
at com.google.gdata.client.GoogleAuthTokenFactory.setUserCredentials(GoogleAuthTokenFactory.java:397)
at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:364)
at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:319)
at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:303)
at calendartest.CalendarTest.getCalendarEventsWithProxy(CalendarTest.java:145)
at calendartest.CalendarTest.main(CalendarTest.java:195)
Caused by: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
沒有代理一切正常。
我明白了。但我爲此使用java。我看到這篇文章:https://developers.google.com/gdata/articles/proxy_setup,它不起作用。在我看來,這篇文章是針對舊版本的GData API的。 –
你使用的是什麼版本? –
你在開玩笑嗎? Oracle JDK 1.7.0_07。必須有一個通用的方式來使用代理,而不需要像這樣的任何細節 –