2012-03-27 8 views
2

Ich bin neu hier, also bitte sei nett.Web-Anfrage mit Sears API

Ich muss eine einfache Anfrage an Sears stellen, um Details zu einem Produkt abzurufen. Ich bin nicht zu json/xml und mit Serveranforderungen sehr gewöhnt.

Da ich bereits bei Sears registriert bin, habe ich den API-Schlüssel.

geht Ihr Code wie folgt:

protected void Page_Load(object sender, EventArgs e) 
    { 

     HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://api.developer.sears.com/v1/productdetails?&store=Sears&contentType=xml"); 

     request.KeepAlive = false; 
     request.Method = "GET"; 
     HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
     StreamReader sr = new StreamReader(response.GetResponseStream()); 
     string respond = sr.ToString(); 
     Label1.Text = respond; 
    } 

ich die 401 bekommen -

Die Fragen sind Unauthorized Fehler:

  1. Wo und wie verwende ich den Schlüssel API?
  2. Wie ich denke, ich werde ein unformatiertes XML erhalten, wie kann ich es richtig anzeigen?

Vielen Dank!

+0

Die APIs müssen dokumentieren, wie die API-Schlüssel zu verwenden. Wenn Sie im Internet Explorer anzeigen, ist keine Formatierung erforderlich. Auch sonst ist es vielleicht nicht. Wenn es sein muss, können Sie 'tidy' oder eine solche Bibliothek verwenden, um es zu formatieren. –

Antwort

3

Gemäß ihrer API-Dokumentation müssen Sie den API-Schlüssel als einen der Parameter in Ihre Abfrageanforderung aufnehmen.

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://api.developer.sears.com/v1/productdetails?apikey=<apikey>&store=Sears&partNumber=05408391000P"); 

http://developer.sears.com/api/Product%2520Details%2520API/Hard%2520line%2520products/doc

Dann letzten beiden Zeilen Code ändern:

string respond = sr.ReadToEnd(); 
Label1.Text = respond; 
+0

Danke für die schnelle Antwort. Ich habe das getan und ich kann die Anfrage vom Server bekommen. Jetzt zeigt mein Label "System.IO.StreamReader" und nicht die Produktinformationen an. Wie bekomme ich xml/json von Anfrage? Soll ich die Anfrage ändern? – VladU

+0

Aktualisierte meine Antwort. – mgnoonan

+0

Vielen Dank! – VladU