主页文档代码示例API 参考公告模型发行说明常见问题GitHub视频
开发者中心API 状态支持
文档
开发者中心API 状态支持

教程:使用 Python SDK 自动调用 SP-API

借助“使用亚马逊账户登录” (LWA) 令牌交换和身份验证,自动执行 SP-API 调用。

本教程为您提供了生成带有使用亚马逊账户登录 (LWA) 令牌交换和身份验证功能的 Python SDK 所需的所有详细信息,以便您无缝构建应用程序。您将了解构建 Python SDK 所需的前提条件,并查看使用销售伙伴 API(用于订单)和 Swagger 代码生成器的示例。

您可以使用此 SDK 将亚马逊商城功能集成到您的应用程序中,包括访问商品信息、管理订单、处理发货等。

教程

以下教程将帮助您设置自己的 Python SDK,以自动化 SP-API 调用。

先决条件

要完成本教程,您需要满足以下前提条件:

  • 处于草稿或发布状态的混合或 SP-API 应用
  • 集成开发环境 (IDE) 软件
  • Python(3.6 或更高版本)
  • swagger-codegen-cli-2.3(或更高版本)此工具用于从 SP-API 的 Swagger 定义生成 Python 客户端代码。

在您的应用程序可以连接到销售伙伴 API 之前,您必须对其进行注册,并且它必须获得销售伙伴的授权。如果您没有混合或 SP-API 应用,请按照注册为开发者注册您的应用程序授权销售伙伴 API 应用程序步骤进行操作。然后,返回到本教程。

接下来,为教程设置工作区。

第 1 步:设置工作区

  1. 在本地驱动器上,为此项目创建一个目录,命名为 SPAPI_Python_SDK,并导航到新目录。

  2. 克隆 client repo

  3. 下载以下工具。

    • IDE 软件(本逐步指南使用的是 Windows 操作系统上的 Visual Studio IDE)
    • Python(3.6 或更高版本)。您可以从 python.org 下载此软件。
  4. 在终端中运行以下命令以下载 Swagger Code Jar:

    `wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar -O swagger-codegen-cli.jar`
  5. swagger-codegen-cli.jar 复制到本地目录 C:\\SPAPI_Python_SDK 中。

  6. 在终端中运行以下命令,以在您的环境中安装 Python backoff 库:

    pip install backoff
  7. 在 GitHub 上,转到 https://github.com/amzn/selling-partner-api-models/tree/main/models 并运行以下命令将 selling-partner-api-models 存储库克隆到本地目录 C:\\SPAPI_Python_SDK

    git clone https://github.com/amzn/selling-partner-api-models

现在您已完成所需的设置,下一步是在本地目录 C:\\SPAPI_Python_SDK 中生成带有身份验证和授权类的 Python SDK。

第 2 步:从 Swagger 定义生成 Python 客户端

  1. 在本地目录 C:\\SPAPI_Python_SDK 中找到您要使用的 SP-API API 模型(例如,订单 API)的 Swagger JSON 文件。

  2. 在终端中运行以下命令以生成客户端代码。请务必替换为您的设置中的路径和 API 模型。

    java -jar /[path_to_swagger_jar]/swagger-codegen-cli.jar generate -l python -t /[path_to_mustach_resources]/resources/ -D packageName=swagger_client -o /[path_to_client_folder]/client/[SP-API_NAME] -i /[path_to_model_folder]/models/[SP-API_NAME]/SP-API.json

现在您已经生成了 Python 客户端,您需要集成身份验证模型。

第 3 步:集成身份验证模块

  1. 在 SDK 下载的目录 C:\\SPAPI_Python_SDK 中找到 authspapi 客户端代码文件夹。
  2. 更新以下 Python 文件中的路径:spapiclient.pyLwaRequest.py。每个文件都包含关于要更新内容的说明。

设置好身份验证后,您现在就可以设置 Python SDK 包了。

第 4 步:设置 Python SDK 包

  1. 导航到 SDK 生成的目录 C:\\SPAPI_Python_SDK
  2. 使用以下代码创建一个 setup.py 文件。此文件对于打包您的 SDK 是必需的。请确保用您的包和依赖项信息替换示例中的信息。
from setuptools import setup, find_packages setup( name='SellingPartnerAPIAuthAndAuthPython', # Replace with your package's name version='1.0.0', # Replace with your package's version package_dir={'': 'src'}, # Replace 'src' as necessary packages=find_packages(where='src'), install_requires=[line.strip() for line in open("requirements.txt", "r")], description='A Python SDK for Amazon Selling Partner API', long_description=open('README.md').read(), long_description_content_type='text/markdown', url='TBD' )

设置好 Python SDK 后,您现在就可以创建订单 API 实例了。

第 5 步:创建订单 API 实例并调用操作

以下是如何使用 Python SDK 和订单 API 发起 getOrders 请求的示例。使用您的信息更新代码,然后在终端中运行代码。

if __name__ == "__main__": from auth.credentials import SPAPIConfig config = SPAPIConfig( client_id="Your client-id", client_secret="Your client-secret", refresh_token="Your refresh-token", region="NA", # Possible values NA, EU, FE, and SANDBOX scope = None # Required for grant_type='client_credentials' ; Possible values "sellingpartnerapi::notifications" and "sellingpartnerapi::migration" ) from spapi.spapiclient import SPAPIClient # Create the API Client print("Config and client initialized...") api_client = SPAPIClient(config) marketplace_ids = ["ATVPDKIKX0DER"] created_after = "2024-01-19T00:00:00" orders_api = api_client.get_api_client('OrdersV0Api') orders_response = orders_api.get_orders(marketplace_ids=marketplace_ids, created_after=created_after) print("Orders API Response:") print(orders_response)

🚧

小心

切勿将此文件提交到版本控制系统,因为它包含敏感信息。请确保这些 LWA 凭证以加密格式安全存储。

状态代码 200 表示 API 调用成功。

第 6 步:使用生成的 Python SDK 连接到销售伙伴 API

在终端中运行以下命令,以在本地构建和安装 SDK:

python3 setup.py sdist bdist_wheel
pip install dist/{YourPackageName}-1.0.0-py3-none-any.whl

在终端中运行以下测试脚本,以测试 Python SDK:

python test.py

状态代码 200 表示 API 调用成功。

结论

在本教程中,您学习了如何使用 Python 的 SP-API SDK 自动化 SP-API 调用。在逐步指南中,您学习了如何设置工作区、为销售伙伴 API 生成 Python SDK、连接到订单 API 并发起第一次 API 调用。


此页面对您有帮助吗?