Sp api-卖方合作伙伴api python

Sp api-卖方合作伙伴api python,python,boto3,amazon-mws,Python,Boto3,Amazon Mws,我想使用boto3连接到python中的卖方合作伙伴api 步骤assumeRole为我获得的会话客户端获取临时凭据。但是sp api不在aws服务列表中,无法处理boto3。对于sp api是否有一个用于python的参考,或者对于sp api是否有与s3=boto3.client('s3')等效的参考?我也遇到过类似于您的问题,我成功地连接了,也许这会有帮助: import boto3 # ======== GET AUTH ======== # Credentials for user c

我想使用boto3连接到python中的卖方合作伙伴api


步骤
assumeRole
为我获得的会话客户端获取临时凭据。但是
sp api
不在aws服务列表中,无法处理boto3。对于
sp api
是否有一个用于python的参考,或者对于
sp api
是否有与
s3=boto3.client('s3')
等效的参考?

我也遇到过类似于您的问题,我成功地连接了,也许这会有帮助:

import boto3
# ======== GET AUTH ========
# Credentials for user created following the docs
amw_client = boto3.client(
    'sts',
    aws_access_key_id=self.access_key,
    aws_secret_access_key=self.secret_key,
    region_name=self.region
)
# ROLE created following the docs
# STS assume policy must be included in the role
res = amw_client.assume_role(
    RoleArn='arn:aws:iam::xxxx:role/xxxx',
    RoleSessionName='SellingPartnerAPI'
)

Credentials = res["Credentials"]
AccessKeyId = Credentials["AccessKeyId"]
SecretAccessKey = Credentials["SecretAccessKey"]
SessionToken = Credentials["SessionToken"]

from requests_auth_aws_sigv4 import AWSSigV4

aws_auth = AWSSigV4('execute-api',
                    aws_access_key_id=AccessKeyId,
                    aws_secret_access_key=SecretAccessKey,
                    aws_session_token=SessionToken,
                    region=self.region
                    )

import requests
# ======== GET ACCESS TOKEN ======
body = \
    {
        'grant_type': 'refresh_token',
        'client_id': amazon_app_client_id,
        'refresh_token': amazon_app_refresh_token,
        'client_secret': amazon_app_client_secret
    }

h = {'Content-Type': 'application/json'}
access_token_response = \
    requests.post('https://api.amazon.com/auth/o2/token', json=body, headers=h)
access_token = self.access_token_response.json().get('access_token')


# ======== CONSUME API ========
resp = requests.get(
request_url, auth=aws_auth, headers={'x-amz-access-token': access_token})

让我知道我是否可以进一步帮助:)

在代码的最后一行中,这里的
access\u-auth
是什么?我还认为你的意思是
auth=aws\u-auth
?你是对的,它是
auth=aws\u-auth
,我添加了部分代码来获取access\u-token:)希望这能解释你所需要的一切