2011-12-22 42 views
7

我正在嘗試創建一個與亞馬遜產品API交互的小應用程序(獲取文章價格等)是否有最新的Amazon產品API的c#示例?

不幸的是,所有用於與我已找到的Amazon WCF服務進行交互的C#示例到目前爲止已經過時。 我知道亞馬遜決定每個服務調用都必須使用個人accessKeyId和secretKey進行簽名,因此所有2009年以前的最小代碼示例(我認爲他們在2009年進行了更改)都沒用。官方的亞馬遜文檔對我來說也沒用,因爲它沒有提供必要的信息。

我也google了兩篇關於如何訪問API的教程,並且遵循這些只會導致沒有任何搜索結果或任何搜索結果。

是否有最新的(工作!!)最小樣本可用的地方?

+0

我認爲有以下仍然有效http://flyingpies.wordpress.com/2009/08/01/17/ – 2011-12-22 23:38:34

+0

都能跟得上是不。由於響應對象的大部分屬性爲空,因此示例會引發空引用異常。感謝您的努力 – citronas 2011-12-23 08:01:07

+1

我剛剛使用該代碼來回答類似的問題。那裏的OP與你現在有同樣的問題。我*現在*認爲新的關聯標籤要求可能存在問題,該要求在2月份之前不會影響我的帳戶,但會影響任何新帳戶。當然,我可能不正確,但也許你應該以任何方式看問題/回答。 http://stackoverflow.com/a/8143122/843318 – 2011-12-23 10:29:19

回答

2

所以,我終於找到了解決方案,根據這裏發佈的評論:http://www.falconwebtech.com/post/2010/06/14/Using-WCF-and-SOAP-to-Send-Amazon-Product-Advertising-API-Signed-Requests.aspx 這也是我下載的代碼,我做的工作。

我沒有通過我的「你唯一的同事ID」,我直到現在還沒有通過。你可以在這裏得到它:https://affiliate-program.amazon.com/

amazonClient.ItemSearch(itemSearch)之前添加

itemSearch.AssociateTag = "YourAssociateID"; 

作品像一個魅力

1

如果上述解決方案仍然無法正常工作。

試試這個..(我使用Microsoft Visual Studio 2010)

上下載http://www.falconwebtech.com/post/2010/06/14/Using-WCF-and-SOAP-to-Send-Amazon-Product-Advertising-API-Signed-Requests.aspx

我們需要更新服務的引用,使變化不大,在app.config中的示例代碼,Program.cs中,和reference.cs。

app.config:
(1.)
appSettings tag; 分配accessKeyId和祕密密鑰值, 添加
<add key="associateTag" value="yourAssociateTag" />.
(2.)行爲標記 - > endpointBehaviors標籤 - >行爲標籤 - > signingBehavior標籤; 分配accessKeyId和secretKey值。
(3.)綁定標籤 - > basicHttpBinding標籤; (可選) 刪除除AWSECommerceServiceBindingNoTransport 和AWSECommerceServiceBindingTransport之外的綁定標記。
(4.)客戶端標籤;
刪除AWSECommerceServiceBindingTransport以外的端點標記。

的Program.cs:
添加itemSearch.AssociateTag = ConfigurationManager.AppSettings [ 「associateTag」]; ItemSearchResponse響應= amazonClient之前。ItemSearch(itemSearch);

reference.cs:(在服務引用打開文件夾使用的Visual Studio)
變化私人ImageSet [] [] imageSetsField;私人ImageSet [] imageSetsField;
變化公共ImageSet [] [] ImageSets {...}公共ImageSet [] ImageSets {...}

終於可以運行我們的程序,它會工作。好運..

注意:會有1個警告(無效的子元素簽約行爲),我想我們可以忽略它,或者如果您有任何解決方案,請分享.. ^^訴。

+0

鏈接已於2016年停止。這就是爲什麼我們要求人們發佈答案,而不僅僅是答案的鏈接。 – 2016-02-29 01:48:22

3

我已經找到了上最新的項目,該代碼可以在GitHub Nager.AmazonProductAdvertising

的NuGet

PM> install-package Nager.AmazonProductAdvertising 

var authentication = new AmazonAuthentication(); 
authentication.AccessKey = "accesskey"; 
authentication.SecretKey = "secretkey"; 

var wrapper = new AmazonWrapper(authentication, AmazonEndpoint.DE, "YourAssociateID"); 
var result = wrapper.Lookup("B0037X9N5U"); 
相關問題