使用Python与eBay API进行交互

  • 获取秘钥与访问sandbox
  • 创建ebay开发者账号
  • 创建sandbox测试用户
  • 获取Python Ebay SDK
  • Trading API
  • 生成令牌
  • 使用 AddItem API 调用创建项目


获取秘钥与访问sandbox

创建ebay开发者账号

  1. 创建一个developer帐户,以获取将包含在 API 调用中以对我们进行身份验证的凭据。导航到Ebay developers program website,然后单击导航菜单中register
  2. 账号注册成功后,就可以继续访问开发者网站功能。要生成API秘钥和凭证,可以导航到应用程序秘钥页面。在这里可以看到sandboxproduction生成密钥。
    sandbox是eBay网站的一种副本,其主要功能是让开发人员在安全的环境中执行测试,而不必担心损坏真实的商店。production相反,是"真实"的环境。
    每个API秘钥有三个元素组成:App IDDev IDCert ID。若要使用某些特定的API,例如Trading API,并与store进行交互时,还需要获取Token

创建sandbox测试用户

当你还在eBay开发者网站时,在顶部菜单点击Tools & samples" -> “Ebay Sandbox” -> "Sandbox user registration。将被重定向到包含该Register for Sandbox表单的页面。此表单将用于创建sandbox用户,如下截图所示,它将具有TESTUSER_前缀:

emby api emby api密钥_API

获取Python Ebay SDK

在命令行直接使用pip python包管理器安装:

pip install ebaysdk

在开始调用API以及向它们传递参数之前,我们应该注意在文件根目录下创建ebay.yaml。我们可以用它来存储我们的证书,而不是在每次准备API调用时直接提供它们。

name: ebay_api_config

# Trading API Sandbox - https://www.x.com/developers/ebay/products/trading-api
api.sandbox.ebay.com:
    compatability: 719
    appid: ENTER_YOUR_APPID_HERE
    certid: ENTER_YOUR_CERTID_HERE
    devid: ENTER_YOUR_DEVID_HERE
    token: ENTER_YOUR_TOKEN_HERE

# Trading API - https://www.x.com/developers/ebay/products/trading-api
api.ebay.com:
    compatability: 719
    appid: ENTER_YOUR_APPID_HERE
    certid: ENTER_YOUR_CERTID_HERE
    devid: ENTER_YOUR_DEVID_HERE
    token: ENTER_YOUR_TOKEN_HERE

# Finding API - https://www.x.com/developers/ebay/products/finding-api
svcs.ebay.com:
    appid: ENTER_YOUR_APPID_HERE
    version: 1.0.0

# Shopping API - https://www.x.com/developers/ebay/products/shopping-api
open.api.ebay.com:
    appid: ENTER_YOUR_APPID_HERE
    version: 671

Trading API

生成令牌

在调用Trading API,并与sandbox交互时,必须提供App IDDev IDCert ID和我们现在要生成的一个令牌。

在eBay开发者网站,导航到应用程序秘钥页面,在SandboxApp ID的左侧点击User Tokens,将被重定向到下图中的部分:

emby api emby api密钥_App_02


点击按钮Sign in to Sandbox,进入到sandbox site 的登录页面。必须使用之前创建好的sandbox "test "用户。一旦登录成功,则提示确认你要授予对你的账户数据的访问权。

点击 "同意 "按钮,你将被重新引导到token生成页面。在这里你会看到新生成的令牌。

下一步就是复制文件中的令牌和其他凭据ebay.yaml

使用 AddItem API 调用创建项目

在项目的根目录中,创建新的Python文件additem.py

#!/usr/bin/env python3
from ebaysdk.trading import Connection

if __name__ == '__main__':
    api = Connection(config_file="ebay.yaml", domain="api.sandbox.ebay.com", debug=True)
    request = {
        "Item": {
            "Title": "Professional Mechanical Keyboard",
            "Country": "US",
            "Location": "IT",
            "Site": "US",
            "ConditionID": "1000",
            "PaymentMethods": "PayPal",
            "PayPalEmailAddress": "nobody@gmail.com",
            "PrimaryCategory": {"CategoryID": "33963"},
            "Description": "A really nice mechanical keyboard!",
            "ListingDuration": "Days_10",
            "StartPrice": "150",
            "Currency": "USD",
            "ReturnPolicy": {
                "ReturnsAcceptedOption": "ReturnsAccepted",
                "RefundOption": "MoneyBack",
                "ReturnsWithinOption": "Days_30",
                "Description": "If you are not satisfied, return the keyboard.",
                "ShippingCostPaidByOption": "Buyer"
            },
            "ShippingDetails": {
                "ShippingServiceOptions": {
                    "FreeShipping": "True",
                    "ShippingService": "USPSMedia"
                }
            },
            "DispatchTimeMax": "3"
        }
    }

    api.execute("AddItem", request)