2016-10-19 2 views
0

Ich benutze Java, um einige JSON-Dateien von einer API (Autorisierung erforderlich) zu bekommen, aber ich habe nicht gefunden, wie die Einrichtung der Anfrage wahrscheinlich.Http Anfrage mit Google API-Client-Bibliothek

ich den Google-API-Client Libary bin mit (https://developers.google.com/api-client-library/java/google-http-java-client/)

Dies ist mein Code:

HttpRequest request=new HttpRequest; 
    request.setUrl(url); 
    request.setConnectTimeout(5000); 
    request.execute(); 

Beim Kompilieren, erhalte ich folgende Fehlermeldung:

Unhandled exception: java.io.IOException 

Hat jemand Wissen Sie, was ich falsch mache? Ich habe keinen Hinweis in der Dokumentation gefunden.

PS: Ich hätte nichts dagegen, zu einer anderen Bibliothek zu wechseln. Ich brauche den HTML-Statuscode, um einige Fehler zu erfassen (die ich noch nicht implementiert habe).

Edit:. Dank daherens, hat mein Code nun so aussehen wie dieses

HttpRequest request=new HttpRequest; request.setUrl(url); request.setConnectTimeout(5000); try { request.execute(); } catch (IOException e) { e.printStackTrace(); } Leider gibt es immer noch ein "(oder [erforderlich" Fehler in dem 'Antwort' definiert ist

Edit2: Er sagt, dass ich brauche ein HTTP-Transport-Objekt. Aber selbst wenn es zu schaffen, heißt es nur

'HttpRequest(com.google.api.client.http.HttpTransport, java.lang.String)' is not public in 'com.google.api.client.http.HttpRequest'. Cannot be accessed from outside package 

ich weiß es auch nicht, was für ein HTTP-Transport-Objekt ist

Antwort

1

In Java-Funktionen und -Methoden deklarieren, welche Ausnahmen sie auslösen können und Sie müssen damit umgehen. Entweder indem Sie in Ihrer Methode angeben, dass Sie sie auch auslösen, oder indem Sie sie selbst mit try {} catch abfangen. Lesen Sie mehr dazu here

+0

@daherens: Danke, das ein Problem behoben. Jetzt sieht mein Code wie folgt aus: –

+0

'HttpRequest request = new HttpRequest; request.setUrl (URL); request.setConnectTimeout (5000); versuchen { request.execute(); } catch (IOException e) { e.printStackTrace(); } ' Leider gibt es immer noch ein„(oder [erforderlich“Fehler in dem‚Antwort‘definiert ist –

+0

können Sie diese auf Ihre Frage formatiert hinzufügen - fast unlesbar :) – dahrens