Я бился головой о стену, пытаясь разными способами правильно подписать мой запрос, чтобы я мог сделать вызов api с извлечением цены через службу aws.
Вот вызов, который я пытаюсь сделать: https://docs.aws.amazon.com/AWSECommerceService/latest/DG/EX_RetrievingPriceInformation.html
Через некоторое время я решил, что будет лучше использовать существующий модуль, если это возможно, поэтому я пытаюсь использовать: https://github.com/DavidMuller/aws-requests-auth
Однако, когда я пытаюсь изменить егоДля использования с запросом получения цены я столкнулся с некоторыми проблемами.Есть ли способ переделать следующий код или есть лучший путь вперед, который я должен взять?
import sys, os, base64, datetime, hashlib, hmac
import requests
from aws_requests_auth.aws_auth import AWSRequestsAuth
associate_tag = "IMA_associate"
access_key = "SLIGHTLYLESSSECRETKEY"
secret_key = "SUPERSECRETKEY"
t = datetime.datetime.utcnow()
amzdate = t.strftime('%Y%m%dT%H%M%SZ')
datestamp = t.strftime('%Y%m%d') # Date w/o time, used in credential scope
auth = AWSRequestsAuth(aws_access_key=access_key,
aws_secret_access_key=secret_key,
aws_host='http://webservices.amazon.com/onca/xml',
aws_region='us-west-1',
aws_service='AWSECommerceService')
endpoint = 'http://webservices.amazon.com/onca/xml' \
+ '?AssociateTag=' + associate_tag \
+ '&AWSAccessKeyId=' + access_key \
+ '&IdType=ASIN' \
+ '&ItemId=B00KOKTZLQ' \
+ '&Operation=ItemLookup' \
+ '&ResponseGroup=Offers' \
+ '&Service=AWSECommerceService' \
# + '&Signature=' + auth \
+ '&Timestamp=' + str(datestamp)
response = requests.get(endpoint, auth=auth)
print(response.content)
Я действительно ценю любую помощь, которую я могу получить в этом!Включая только точку в правильном направлении, это немного из моей рубки.