2016-08-05 20 views
0

Um eine Client-Anwendungen zu entwickeln, muss ich Arbeitsblätter und Daten in Google Sheets lesen und ändern. Ich bin vor mit folgenden Ausgabe:Wie UnknownHostException Fehler in Google Tabellenkalkulation mithilfe der API zu lösen?

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 

Ausgabe:

java.net.UnknownHostException: spreadsheets.google.com bei java.net.AbstractPlainSocketImpl.connect (Unknown Source) bei java. net.PlainSocketImpl.connect (Unbekannte Quelle) um java.net.SocksSocketImpl.connect (unbekannte Quelle) um java.net.Socket.connect (unbekannte Quelle) um sun.security.ssl.SSLSocketImpl.connect (unbekannte Quelle) unter sun.security.ssl.BaseSSLSocketImpl.connect (Unbekannt S ource) um sun.net.NetworkClient.doConnect (unbekannte Quelle) um sun.net.www.http.HttpClient.openServer (unbekannte Quelle) um sun.net.www.http.HttpClient.openServer (unbekannte Quelle) um sun.net.www.protocol.https.HttpsClient. (Unbekannte Quelle) um sun.net.www.protocol.https.HttpsClient.New (Unbekannte Quelle) um sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection. getNewHttpClient (Unbekannt Quelle) bei sun.net.www.protocol.http.HttpURLConnection.plainConnect (Unbekannt Quelle) bei sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect (Unbekannt Quelle) bei Sonne. net.www.protocol.https.HttpsURLConnectionImpl.conn ect (Unbekannt Quelle) bei com.google.gdata.client.http.HttpGDataRequest.execute (HttpGDataRequest.java:503) bei com.google.gdata.client.http.GoogleGDataRequest.execute (GoogleGDataRequest.java:535) unter com.google.gdata.client.Service.getFeed (Service.java:1135) unter com.google.gdata.client.Service.getFeed (Service.java:998) unter com.google.gdata.client .GoogleService.getFeed (GoogleService.java:631) bei com.google.gdata.client.Service.getFeed (Service.java:1017) bei test_project.test_demo.main (test_demo.java:35)

+0

Unbekannter Host bedeutet normalerweise, dass Ihre URL falsch ist ... Sind Sie sicher, dass es sich nicht nur um sheets.google.com oder etwas anderes handelt? –

+0

Es ist möglicherweise kein Duplikat. Ist Ihr Projekt Java 7 oder 8? Im Falle von Java 8 kann die Standardeinstellung appengine-web.xml diese Ausnahme verursachen, wenn die Abrechnung nicht aktiviert ist. Sehen Sie sich den URL-Stream-Handler unter https://cloud.google.com/appengine/docs/standard/java/config/appref an –

Antwort

0

Wie angegeben here, UnknownHostException bedeutet, dass Ihr Gerät den Hostnamen nicht auflösen konnte. Es tritt auf, wenn Sie versuchen, eine Verbindung zu einem Remote-Host unter Verwendung seines Host-Namens herzustellen, aber die IP-Adresse dieses Hosts kann nicht aufgelöst werden. Von diesem blog, sollten Sie die Eingabe von Socket (oder eine andere Methode, die eine UnknownHostException wirft) überprüfen, und bestätigen Sie, dass es das beabsichtigte ist. Wenn Sie nicht sicher sind, ob Sie den richtigen Hostnamen haben, können Sie ein Terminal starten und mithilfe des Befehls nslookup feststellen, ob der DNS-Server den Hostnamen erfolgreich in eine IP-Adresse auflösen kann.

Wenn das nicht funktioniert, sollten Sie überprüfen, ob der Host-Name korrekt ist und dann versuchen, Ihren DNS-Cache zu aktualisieren. Wenn das auch nicht funktioniert, versuchen Sie einen anderen DNS-Server zu verwenden, zB Google Public DNS ist eine sehr gute Alternative.

Sie können auch auf diese link überprüfen. Hoffe das hilft!