2011-05-30 52 views
1

我正在嘗試亞馬遜產品廣告API,他們的教程here亞馬遜產品廣告API的http 500內部服務器錯誤

在做任何編碼之前,我試圖按照教程並使用Signed Requests Helper表格online來證明這個概念。我在訪問密鑰ID和祕密訪問鍵進入,然後在下面的未簽名的URL框中輸入:

_http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService 
&Version=2010-11-01 
&Operation=ItemSearch 
&SearchIndex=Books 
&Keywords=harry+potter 

我複製簽名網址框中的內容粘貼到瀏覽器的地址欄(用正確的訪問密鑰和簽名):

_http://ecs.amazonaws.com/onca/xml AWSAccessKeyId = [MY_ACCESS_KEY] &關鍵詞=哈里%20potter &操作= ItemSearch%0D & SearchIndex =書籍%0D &服務= AWSECommerceService%0D &時間戳= 2011-05-30T07%3A56%3A17.000Z &版本= 2010-11-01%0D &簽名= [MY_SIGNATURE]

作爲回報,我得到一個HTTP 500內部服務器錯誤。

(注意我已經插入兩個例子超鏈接前unscore如計算器將不允許超過2個鏈接新手。)

我試着IE8和Chrome,並且也嘗試了.CO。因爲我住在英國。我也沒有運氣看過AWS論壇。任何幫助,將不勝感激...

回答

0

我已經嘗試生成與您鏈接到使用我的訪問密鑰ID和祕密訪問密鑰的頁面的簽名的URL,並且我得到正確的響應。

我注意到的一件事是,您簽名的URL包含一個額外的字符(%0D - 換行符?),結束了您的一些請求參數值。在未經簽名的URL輸入中複製示例網址時是否添加了這些字符?請嘗試修復未簽名的網址,直到這些字符未顯示在已簽名的網址框中,然後再次嘗試使用已簽名的網址。

+0

優秀 - 它現在可以工作。我複製了示例URL並將其粘貼到未簽名的URL框中(使用IE8),並粘貼了這些換行符。刪除這些解決了這個問題。我還注意到,將示例網址粘貼到Chrome中的未簽名URL輸入意味着不會粘貼換行符。 – barkside 2011-06-01 17:31:03