2016-08-05 42 views
0

要開發客戶端應用程序,我需要讀取和修改Google Sheets中的工作表和數據。在 的Java spreadsheets.google.com在 java.net.AbstractPlainSocketImpl.connect(未知來源):我面臨着以下問題:如何使用API​​解決Google電子表格中的UnknownHostException錯誤?

SpreadsheetService service = new SpreadsheetService("sheet1"); 
String sheetUrl = "https://spreadsheets.google.com/feeds/list/1XP3KQTboWCArbvH99XYEGsVOldc97NqFzKD MiEepXRA/default/public/values"; //Sheet url    
URL url = new URL(sheetUrl); // Get Feed of Spreadsheet url 
ListFeed lf = service.getFeed(url, ListFeed.class); //Error statement 

問題:

的java.net.UnknownHostException。 net.PlainSocketImpl.connect(Unknown Source) java.net.SocksSocketImpl.connect(Unknown Source) java.net.Socket.connect(Unknown Source) sun.security.ssl.SSLSocketImpl.connect(Unknown Source) at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown S (Unknown Source)at sun.net.NetworkClient.doConnect(Unknown Source)at sun.net.www.http.HttpClient.openServer(Unknown Source)at sun.net.www.http.HttpClient.openServer(Unknown Source)at sun.net.www.protocol.https.HttpsClient。(Unknown Source)at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection。 getNewHttpClient(未知 來源)維持在 太陽 sun.net.www.protocol.http.HttpURLConnection.plainConnect(未知 來源)在 sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(未知 來源)。 net.www.protocol.https.HttpsURLConnectionImpl.conn ECT(未知 源)在 com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:503) 在 com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:535 ) at com.google.gdata.client.Service.getFeed(Service.java:1135)at com.google.gdata.client.Service.getFeed(Service.java:998)at com.google.gdata.client .GoogleService.getFeed(GoogleService.java:631) 在com.google.gdata.client.Service.getFeed(Service.java:1017)在 test_project.test_demo.main(test_demo.java:35)

+0

未知主機通常意味着您的網址錯誤...您確定它不只是sheets.google.com或其他東西嗎? –

+0

它可能不是重複的。你的項目是java 7還是8?在java 8的情況下,默認的appengine-web.xml設置可能會在未啓用記帳時導致該異常。請查看https://cloud.google.com/appengine/docs/standard/java/config/appref中的url-stream-handler。 –

回答

0

如上所述here,UnknownHostException表示您的設備無法解析主機名。當您嘗試使用其主機名連接到遠程主機時會出現,但該主機的IP地址無法解析。從此blog,您應該檢查套接字(或任何其他引發UnknownHostException的方法)的輸入,並驗證它是否是預期的。如果您不確定您是否擁有正確的主機名,則可以啓動終端並使用nslookup命令查看您的DNS服務器是否可以成功將主機名解析爲IP地址。

如果這不起作用,您應該檢查您的主機名是否正確,然後嘗試刷新您的DNS緩存。如果這也不起作用,請嘗試使用不同的DNS服務器,例如Google Public DNS是一個非常好的選擇。

您還可以檢查此link。希望這可以幫助!

相關問題