2017-05-10 2 views
0

ich versuche, API mit WebRequest aufrufen, Api-Methode ist Post folgt ist mein Code.Aufruf API mit WebRequest

Aber es gibt alle Zeit 404 nicht gefunden error.please einige eine Hilfe.

+0

Kopieren Sie die URL in Ihren Browser und navigieren Sie dorthin. Wenn es 404 gibt, bedeutet dies, dass die URL nicht gültig ist. – PhillipH

+0

Wenn Sie diese URL überprüfen: https://nestiolistings.com/api/v1/ sagt es 404 –

+0

@NomiAli irrelevant - das ist nicht die URL, über die das OP spricht. – ADyson

Antwort

1
string ContactUs = "https://nestiolistings.com/api/v1/clients/" + APIKey; 

Ich glaube nicht, dass Sie den API-Schlüssel an die URL anhängen sollten. Angenommen, Ihr Schlüssel lautet 12345, erhalten Sie eine URL wie https://nestiolistings.com/api/v1/clients/12345.

Das wird keiner gültigen Ressource in der API zugeordnet - die "clients" -Methode dient zum Erstellen von Clients, aus diesem Grund akzeptiert sie keine spezifischen Client-IDs als zusätzliche Routenparameter (weil der Client nicht existiert) hat jedoch keine ID), und selbst wenn es logisch sinnvoll wäre, würde Ihr API-Schlüssel natürlich nicht mit einer gültigen Client-ID übereinstimmen.

Der API-Schlüssel sollte im Autorisierungsheader nach dem Aussehen davon bereitgestellt werden.

So:

string ContactUs = "https://nestiolistings.com/api/v1/clients/"; 
var request = (HttpWebRequest)WebRequest.Create(ContactUs); 
request.Headers.Add("Authorization", "Basic " + APIKey); 

(Dies wird unter der Annahme, dass bereits ein APIKey Base64-codierter String wie durch die API erforderlich).

Weitere Informationen finden Sie unter http://developers.nestio.com/api/v1/clients.html und http://developers.nestio.com/api/v1/auth.html.

+0

danke für help.i versuchte diese header aber jetzt gibt es {"Der remote server gab einen fehler: (403) Forbidden."} Error. –

+0

Verboten ist ein Berechtigungsfehler (offensichtlich). Ist Ihr API-Schlüssel definitiv gültig und nicht abgelaufen? Haben Sie eine Zeichenfolge erstellt (einschließlich: am Ende wie in den Dokumenten), und dann das "APIKey" -Objekt zum Ergebnis dieser Zeichenfolge machen, die wie base64 formatiert ist, wiederum wie von den Dokumenten gefordert? – ADyson