我想使用亚马逊产品广告 API 使用 Powershell 创建一个 Web 请求,该请求提交 ISBN / ANSI 编号并返回图书元数据。(标题,作者,...)
到目前为止,我已经创建了一个帐户来获取 AssociateTag、AWSAccessKeyId 和 AWS 密钥。有了这些信息,我就可以在测试页面上创建一个签名的 WebRequest,效果很好。http://associates-amazon.s3.amazonaws.com/scratchpad/index.html
现在我的问题是,如何使用 Powershell 创建这个 WebRequest 并使用我的 Sec Key 签署“String-to-Sign”?
文档http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/rest-signature.html显示,我们需要生成一个 HMAC-SHA256 哈希密钥,并将其添加到 WebRequest。但我无法创建这样的哈希......
**
$AwsSecKey = "1234567890"
$string = "GET
webservices.amazon.com
/onca/xml
AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&ItemId=0679722769&Operation=I
temLookup&ResponseGroup=ItemAttributes%2COffers%2CImages%2CReview
s&Service=AWSECommerceService&Timestamp=2009-01-01T12%3A00%3A00Z&
Version=2009-01-06"
$hmacsha = New-Object System.Security.Cryptography.HMACSHA256
$hmacsha.key = [Text.Encoding]::ASCII.GetBytes($key)
$signature = $hmacsha.ComputeHash([Text.Encoding]::ASCII.GetBytes($string))
$sig = [string]::join("", ($signature | % {([int]$_).toString('x2')}))
**
希望有人可以帮助我解决这个问题...
谢谢, 安德烈亚斯