2012-03-27 20 views
2

私はここで新しいラウンドですので、親切にしてください。Sears APIを使用したWebリクエスト

商品に関する詳細を検索するためにシアーズに簡単なリクエストをする必要があります。 私はjson/xmlやサーバーリクエストにあまり慣れていません。

すでにSearsに登録しているので、私はAPIキーを持っています。

私のコードは次のようになります:

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; 
    } 

私は401を取得する - 権限のエラー

質問は以下のとおりです。

  1. どこで、どのように私はAPIキーを使用していますか?
  2. 私はフォーマットされていないxmlを取得すると思いますが、正しく表示するにはどうすればいいですか?

ありがとう!

+0

。 Internet Explorerに表示している場合は、書式設定は必要ありません。そうでなければそれはそうではないかもしれません。もし必要なら、 'tidy'やそのようなライブラリを使ってフォーマットすることができます。 –

答えて

3

APIドキュメントによれば、クエリ要求のパラメータの1つとしてAPIキーを含める必要があります。

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

その後にコードの最後の2行を変更:APIはAPIキーを使用する方法を文書化しなければなりません

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

すばらしい答えをありがとう。私はそれをして、私はサーバーから要求を得ることができます。今、私のラベルは "System.IO.StreamReader"と表示され、製品情報は表示されません。リクエストからxml/jsonを取得するにはどうすればよいですか?要求を変更しますか? – VladU

+0

私の答えを更新しました。 – mgnoonan

+0

ありがとうございました! – VladU

関連する問題