2013-01-11 12 views
-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) 

沒有代理一切正常。

回答

1

你沒有說你所使用的語言,但對於Java和.NET#指令是在:爲Python

https://developers.google.com/gdata/articles/proxy_setup

說明書,可以發現:

http://code.google.com/p/gdatacopier/wiki/ProxySupport(這些應該適用於任何使用gdata-python-client的應用程序)

+0

我明白了。但我爲此使用java。我看到這篇文章:https://developers.google.com/gdata/articles/proxy_setup,它不起作用。在我看來,這篇文章是針對舊版本的GData API的。 –

+0

你使用的是什麼版本? –

+0

你在開玩笑嗎? Oracle JDK 1.7.0_07。必須有一個通用的方式來使用代理,而不需要像這樣的任何細節 –

相關問題