搜索
首页后端开发php教程介绍eBay的交易API-设置

介绍eBay的交易API-设置

在这个教程系列中,我会带您浏览eBay的交易API。交易API允许您构建可用于在eBay中销售的应用程序。以下是您可以使用API​​做的一些示例:

>

    检索存储信息
  • >更新存储首选项
  • >将产品添加到特定的eBay商店
  • >结束产品列表
  • 更新产品价格
  • 检索产品信息
在本教程中,我们将创建一个应用程序,允许用户通过使用API​​在eBay上创建产品。

钥匙要点

    >需要注册:首先在eBay的开发人员网站上注册开发人员帐户,以访问沙箱和生产环境的应用程序密钥。
  • 配置应用程序设置:自定义eBay用户同意表格并管理设置,例如授权类型和返回URL,确保所有URL均为https。
  • >使用开发人员工具:探索eBay的开发人员工具,例如用于测试的Sandbox帐户和用于在不同环境中模拟API调用的API测试工具。
  • >
  • >数据库设置:建立一个MySQL数据库,并为设置,商店设置,产品等创建表格,以有效地管理应用程序数据。>
  • 了解API调用:学习使用交易API进行API调用,重点介绍XML请求格式,并为成功的eBay交易操作处理响应。>
  • 注册一个应用
  • >您需要做的第一件事是在eBay开发人员网站上注册一个开发人员帐户。

做到这一点,一旦您验证了电子邮件,您将获得类似于以下屏幕:

>:

在该页面上,单击“获取应用程序键”链接,该链接将带您到达可以生成沙箱和生产键的页面。然后,单击“生成沙盒密钥”按钮以生成可以用于测试我们将要构建的应用程序的键。另外,单击“生成生产密钥”按钮以生成部署应用程序时可以使用的键。请注意,这些键可以与eBay提供的任何API一起使用,因此您只需要一次执行此操作。

生成键后,单击任何键上的“配置设置”链接(沙盒或生产)。介绍eBay的交易API-设置>在“自定义eBay用户同意表”部分下,

>单击“自定义eBay用户同意表”链接。这将允许您配置应用程序使用的URL。这基本上是应用程序主页的URL。到达那里后,在“管理您的运行符号”部分下,单击“为应用程序生成运行Amber”链接。运行AMAME等同于应用程序。如果要创建将与不同的eBay API交互的不同应用,则可以为每个应用程序创建一个运行AMAME。一旦生成了运行amam,就会向您询问以下信息:

>
  • 显示标题 - 用户以后授予应用程序的授权时要显示的应用程序标题。 (例如产品创建者)显示描述:显示描述是描述您应用程序的文本。 (例如,此应用程序允许用户轻松地将产品添加到其eBay商店)
  • >
  • 令牌返回方法 - 令牌返回方法是用户授予应用程序授权后应用程序使用的方法。为此,所提供的价值应为“获取”。
  • >
  • 授权类型 - 用户授予应用程序授权之后的应用程序类型。这可以是授权或ID。验证。为此领域提供“授权”的价值,因为我们需要用户赋予我们的应用程序授权,以为他们执行不同的操作。
  • 应用程序类型 - 应用程序的类型。这应该是“基于Web”的。
  • 接受重定向URL - 用户赋予应用程序授权时将其重定向的URL。请注意,eBay仅允许HTTPS URL。如果您想稍后再关注,建议您在openshift.com上注册一个帐户。您托管的应用程序默认情况下将具有HTTP,并且是免费的。
  • 拒绝重定向URL用户拒绝应用程序时将其重定向到的URL。
  • 隐私政策URL - 隐私政策URL。当用户在页面中以授予应用程序的授权时,该URL将包含在应用程序描述中。
  • >工具
  • > eBay的开发人员仪表板为我们提供了各种工具。
沙盒帐户

>让我们看一下Sandbox用户注册工具。注册沙盒帐户后,请访问sandbox.ebay.com进行测试登录。一旦您验证了它的工作正常,请返回您的eBay开发人员帐户页面。

API测试工具

下一步是API测试工具。在该页面上后,您会看到有很多选项,但是默认情况下它们已经预先填写,因此您会了解每个字段的作用。在继续使用此工具之前,这里是每个字段的简短描述:
  • 选择一个环境 - 这使您可以在沙箱和生产环境之间切换。通常,当您仅从API测试工具进行测试时,您需要为此使用“沙盒”。两者之间的主要区别在于,沙箱只能与沙盒/测试eBay帐户一起使用,并且只能与实际的eBay帐户一起使用。
  • 选择一个密钥集 - 这允许您更改将用于制作API调用的键。大多数情况下,您实际上不必触摸它,因为当您选择钥匙已经改变的环境类型时。
  • 选择一个API - 这使您可以选择要拨打呼叫的API。您可能已经知道,eBay具有不同的API:交易,查找,购物,反馈和Open API。我们主要将使用该教程的交易API,因此请继续选择。请注意,选择交易API后,出现了另一组字段。它提示您生成用户令牌或手动输入现有的代币。由于我们已经在较早的沙箱帐户中创建了一个,因此我们可以单击“生成用户令牌”按钮。这将把您重定向到看起来像这样的页面:
  • >

介绍eBay的交易API-设置

>确认为环境选择了沙箱,然后单击“继续生成令牌”按钮。这将把您重定向到Sandbox eBay网站登录页面。用您的沙盒登录凭据填写。如果登录成功,它将将您重定向到授权页面:

>

介绍eBay的交易API-设置

>同意授权该应用程序。请注意,这是eBay主要用于测试的通用应用程序。这不是我们之前创建的应用程序。之后,您将被重定向到以下页面:

介绍eBay的交易API-设置

>您在此页面上要做的只是复制生成的令牌,然后单击“保存令牌”按钮。完成此操作后,您可以返回到API测试工具页面,然后粘贴在用户令牌中,您刚刚复制到用户令牌字段中。

>
  • >

    选择一个API调用 - 您要请求的API中的实际资源。您可以打出很多电话。您可以选择任何引起您兴趣的东西。

    >
  • 选择一个模板 - 它可以具有“完整,通用”或“部分,预先填充”的值。选择“完整的,通用”将为您提供XML请求框中的空白字段,同时选择“部分,预填充”将为您提供一些已经填充的基本示例字段。由于我们刚刚起步,因此使用“部分,预填充”是最好的选择,因为这已经为我们提供了我们选择的资源所需的一些领域。例如,如果我们为API呼叫字段选择“ getItem”,则已经为我们提供了示例itemID和警告级别,而我们要做的就是单击XML请求Textarea下方的“提交”按钮以便启动请求。一旦使用API​​感到满意,您就可以将值直接添加到XML请求TextArea中,以修改提交给API的实际数据。

    >
  • 选择一个呼叫变化 - API中的每个资源都可能具有不同的变化,但是大多数情况下,您只想进行基本调用,因此您实际上不必实际修改此字段的默认值。
  • >
  • 选择呼叫请求版本 - eBay API经历了许多更改,这意味着仍有不同版本的API浮动以支持较旧的系统。由于我们刚刚开始使用API​​,因此我们可以选择最新版本,截至此时是版本885。
  • 选择网站ID - 您可能已经知道有不同的eBay网站。该字段代表您要拨打电话的实际eBay网站。由于我们只是使用API​​测试工具进行测试,因此我们可以为此提供美国。

  • Web Service URI - 提出所有请求的URL。您不必修改此字段。
  • HTTP标头 - 标题中提供给API的每个请求中提供的信息。默认情况下使用以下标题:
  • 解释不清楚的:

  • x-ebay-api-siteid - 您要提出请求的eBay网站的ID。这是您可以使用的站点ID列表。您可能需要找到站点名称,然后注意相应的eBay站点ID。
> x-ebay-api-call-name - 您要调用的API中的资源或方法。以下是您可以通过交易API进行的呼叫的引用。
X-EBAY-API-COMPATIBILITY-LEVEL:your-request-version
X-EBAY-API-DEV-NAME:your-dev-id
X-EBAY-API-APP-NAME:your-app-id
X-EBAY-API-CERT-NAME:your-cert-id
X-EBAY-API-SITEID:your-site-id
X-EBAY-API-CALL-NAME:YourAPICallMethod
>

> XML请求 - 您的请求正文。交易API仅支持XML和肥皂格式。但是XML看起来更简洁,因此我们将使用XML为此。这也是API测试工具中使用的默认格式,因此确实需要解决。这是示例XML请求:

  • 分解它,这指定了我们正在使用的XML版本和编码:>
    X-EBAY-API-COMPATIBILITY-LEVEL:your-request-version
    X-EBAY-API-DEV-NAME:your-dev-id
    X-EBAY-API-APP-NAME:your-app-id
    X-EBAY-API-CERT-NAME:your-cert-id
    X-EBAY-API-SITEID:your-site-id
    X-EBAY-API-CALL-NAME:YourAPICallMethod

    这是我们要求的包装器。它使用getItem请求方法。请注意,getItem是API中方法的名称,但我们必须将请求附加到它。 XMLN用于指定呼叫所属的命名空间。在大多数情况下,这将是urn:eBay:apis:eblbasecomponents。当我大多数时候说这意味着交易API中的大多数方法都使用此特定的名称空间。

    <span><?xml version="1.0" encoding="utf-8"?>
    </span><span><span><span><getitemrequest> xmlns<span>="urn:ebay:apis:eBLBaseComponents"</span>></getitemrequest></span>
    </span><span><span><span><itemid>></itemid></span>110072510158<span><span></span>></span>
    </span><span><span><span><requestercredentials>></requestercredentials></span>
    </span><span><span><span><ebayauthtoken>></ebayauthtoken></span>your-user-token<span><span></span>></span>
    </span><span><span><span></span>></span>
    </span><span><span><span><warninglevel>></warninglevel></span>High<span><span></span>></span>
    </span><span><span><span></span>></span></span></span></span></span></span></span>

    接下来是eBay中项目的ID。

    <span><?xml version="1.0" encoding="utf-8"?></span>

    要找到此信息,请在eBay中搜索一个项目,然后单击返回的任何结果。 URL看起来像这样:

    <span><span><span><getitemrequest> xmlns<span>="urn:ebay:apis:eBLBaseComponents"</span>></getitemrequest></span>
    </span><span><span><span></span>></span></span></span>

    项目ID是项目标题之后的数字集。
    接下来是请求者凭据的包装器:

    <span><span><span><itemid>></itemid></span>110072510158<span><span></span>></span></span></span>

    请求者凭据包装器应包含用户令牌。我们已经看到了如何较早获取用户令牌的沙盒帐户。获取该应用程序的用户令牌基本相同,但是我们必须处理保存令牌在数据库中,以便我们可以在以后使用它。

    >
    http://www.ebay.co.uk/itm/Apple-MacBook-Pro-15-4-2-66Ghz-Dual-Core-8GB-RAM-250GB-Latest-OS-X-10-9-/301305989202?pt=UK_Computing_Apple_Laptops_ET&hash=item46273c8852

    接下来是警告级别。这可以具有高或低的值。应始终将其设置为高,以告诉eBay以返回未识别的,弃用的元素或无效的值的警告。如果请求出现问题,这将使您可以检查响应。

    >
    <span><span><span><requestercredentials>></requestercredentials></span>
    </span><span><span><span></span>></span></span></span>

    >呼叫响应 - API返回的实际响应。无需修改它,因为它仅用于显示响应。>

    api呼叫使用报告

    >我们要浏览的最后一个工具是API呼叫使用报告。这使您可以在特定时间范围内生成API使用情况的报告。如果您稍后将部署应用程序,这是一个不错的工具,因为这将使您确定是否超过了您用于应用程序的特定API的API呼叫限制。在这种情况下,您只能向eBay提交申请即可增加API限制。

    >数据库

    >我们将使用MySQL作为此应用。以下表将使用:

    >设置 - 存储像用户令牌和应用程序ID这样的常规应用程序设置。
      store_settings - 存储创建产品时要使用的eBay商店设置。>
    • 产品 - 存储产品详细信息。
    • > prentiy_types - 存储项目条件ID及其相应的名称。
    • >
    • listing_types - 存储清单代码。
    • listing_durations - 存储清单持续时间代码。>
    • >使用phpMyAdmin之类的东西创建一个新数据库,然后执行以下SQL语句以创建单个表:
    • 设置

    store_settings

    >产品
    <span><span><span><ebayauthtoken>></ebayauthtoken></span>your-user-token<span><span></span>></span></span></span>

    >条件_types
    <span><span><span><warninglevel>></warninglevel></span>High<span><span></span>></span></span></span>

    > listing_types
    <span>CREATE TABLE IF NOT EXISTS <span>`settings`</span> (
    </span>  <span><span>`id`</span> int(11) NOT NULL AUTO_INCREMENT,
    </span>  <span><span>`user_token`</span> text NOT NULL,
    </span>  <span><span>`dev_id`</span> varchar(300) NOT NULL,
    </span>  <span><span>`app_id`</span> varchar(300) NOT NULL,
    </span>  <span><span>`cert_id`</span> varchar(300) NOT NULL,
    </span>  <span><span>`run_name`</span> varchar(300) NOT NULL,
    </span>  <span><span>`site_id`</span> varchar(60) NOT NULL,
    </span>  <span>PRIMARY KEY (<span>`id`</span>)
    </span><span>)</span>
    X-EBAY-API-COMPATIBILITY-LEVEL:your-request-version
    X-EBAY-API-DEV-NAME:your-dev-id
    X-EBAY-API-APP-NAME:your-app-id
    X-EBAY-API-CERT-NAME:your-cert-id
    X-EBAY-API-SITEID:your-site-id
    X-EBAY-API-CALL-NAME:YourAPICallMethod

    > listing_durations

    <span><?xml version="1.0" encoding="utf-8"?>
    </span><span><span><span><getitemrequest> xmlns<span>="urn:ebay:apis:eBLBaseComponents"</span>></getitemrequest></span>
    </span><span><span><span><itemid>></itemid></span>110072510158<span><span></span>></span>
    </span><span><span><span><requestercredentials>></requestercredentials></span>
    </span><span><span><span><ebayauthtoken>></ebayauthtoken></span>your-user-token<span><span></span>></span>
    </span><span><span><span></span>></span>
    </span><span><span><span><warninglevel>></warninglevel></span>High<span><span></span>></span>
    </span><span><span><span></span>></span></span></span></span></span></span></span>
    对于条件类型,清单类型和列表持续时间,我们可以直接插入默认数据。还执行以下查询。

    >

    <span><?xml version="1.0" encoding="utf-8"?></span>
    <span><span><span><getitemrequest> xmlns<span>="urn:ebay:apis:eBLBaseComponents"</span>></getitemrequest></span>
    </span><span><span><span></span>></span></span></span>
    <span><span><span><itemid>></itemid></span>110072510158<span><span></span>></span></span></span>
    结论

    在这一部分中,我们准备了环境,并为第2部分和第3部分的平滑开发工作流进行了准备。请继续关注随访,我们将开始构建应用程序的逻辑!

    经常询问有关eBay交易API

    的问题

    >什么是eBay的交易API?它如何工作?

    eBay的交易API是一种强大的工具,可允许开发人员创建可以执行与eBay交易相关的各种操作的应用程序。它通过提供一组用于应用程序和eBay服务器之间通信的协议来起作用。这些协议允许您的应用程序执行诸如待售的列表项目,管理活动列表,检索用户信息以及完成销售交易的任务。 Trading API使用基于XML的消息进行通信,并且需要一个身份验证令牌才能安全访问。

    >

    >我如何开始使用eBay的交易API? ,您首先需要在eBay的开发人员计划网站上注册为开发人员。注册后,您可以创建一个应用程序键,其中包括Appid,certID和DEVID。这些密钥用于在拨打API调用时对您的应用程序进行身份验证。您还需要生成一个用户令牌,代表eBay用户您的应用程序代表。您可以执行的操作范围。其中包括待售的清单项目,管理主动列表,检索用户信息,完成销售交易等等。每个操作都由特定的API调用表示,每个呼叫的详细信息都在eBay的API文档中记录。

    >

    >如何使用eBay的eBay交易API? API通过eBay的交易API调用,您需要将HTTP POST请求发送到API端点。请求主体应包含XML消息,该消息指定您要进行的API调用和任何必需的参数。请求的标题应包括您的appid,certID和DEVID以进行身份​​验证。

    >

    >如何处理API调用中的响应?

    > API调用的响应是XML消息其中包含呼叫的结果。您可以解析此XML消息以提取所需的信息。响应消息的结构取决于您制作的API调用。

    >

    使用eBay的交易API时,我可能会遇到什么常见错误?每个错误都由特定的错误代码和消息表示,当发生错误时,响应消息中包含在响应消息中。

    如果遇到问题,我如何对eBay的交易API进行故障排除?借助eBay的交易API,您可以在响应消息中使用错误代码和消息来识别问题。您还可以参考eBay的API文档和开发人员论坛以寻求额外的帮助。

    我可以将eBay的交易API与其他编程语言一起使用吗?

    是的,您可以将eBay的交易API与任何编程语言一起使用这支持HTTP和XML。这包括诸如Python,Java,C#等语言。

    >在使用eBay的API时,我如何确保我的应用程序安全? ,在拨打API时,您应该始终使用https,并且切勿共享您的appid,certid,devid或用户令牌。

    >

    >在哪里可以找到有关eBay交易API的更多信息?您可以在eBay的API文档中找到有关eBay交易API的更多信息,该文档提供了有关每个API调用的详细信息,包括其参数,响应结构和错误代码。您还可以在eBay的开发人员计划网站和开发人员论坛上找到有用的资源。

以上是介绍eBay的交易API-设置的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
您如何防止与会议有关的跨站点脚本(XSS)攻击?您如何防止与会议有关的跨站点脚本(XSS)攻击?Apr 23, 2025 am 12:16 AM

要保护应用免受与会话相关的XSS攻击,需采取以下措施:1.设置HttpOnly和Secure标志保护会话cookie。2.对所有用户输入进行输出编码。3.实施内容安全策略(CSP)限制脚本来源。通过这些策略,可以有效防护会话相关的XSS攻击,确保用户数据安全。

您如何优化PHP会话性能?您如何优化PHP会话性能?Apr 23, 2025 am 12:13 AM

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显着提升应用在高并发环境下的效率。

什么是session.gc_maxlifetime配置设置?什么是session.gc_maxlifetime配置设置?Apr 23, 2025 am 12:10 AM

thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceIsiseededeedeedeedeedeedeedto to to avoidperformance andununununununexpectedLogOgouts.3)

您如何在PHP中配置会话名?您如何在PHP中配置会话名?Apr 23, 2025 am 12:08 AM

在PHP中,可以使用session_name()函数配置会话名称。具体步骤如下:1.使用session_name()函数设置会话名称,例如session_name("my_session")。2.在设置会话名称后,调用session_start()启动会话。配置会话名称可以避免多应用间的会话数据冲突,并增强安全性,但需注意会话名称的唯一性、安全性、长度和设置时机。

您应该多久再生一次会话ID?您应该多久再生一次会话ID?Apr 23, 2025 am 12:03 AM

会话ID应在登录时、敏感操作前和每30分钟定期重新生成。1.登录时重新生成会话ID可防会话固定攻击。2.敏感操作前重新生成提高安全性。3.定期重新生成降低长期利用风险,但需权衡用户体验。

如何在PHP中设置会话cookie参数?如何在PHP中设置会话cookie参数?Apr 22, 2025 pm 05:33 PM

在PHP中设置会话cookie参数可以通过session_set_cookie_params()函数实现。1)使用该函数设置参数,如过期时间、路径、域名、安全标志等;2)调用session_start()使参数生效;3)根据需求动态调整参数,如用户登录状态;4)注意设置secure和httponly标志以提升安全性。

在PHP中使用会议的主要目的是什么?在PHP中使用会议的主要目的是什么?Apr 22, 2025 pm 05:25 PM

在PHP中使用会话的主要目的是维护用户在不同页面之间的状态。1)会话通过session_start()函数启动,创建唯一会话ID并存储在用户cookie中。2)会话数据保存在服务器上,允许在不同请求间传递数据,如登录状态和购物车内容。

您如何在子域中分享会议?您如何在子域中分享会议?Apr 22, 2025 pm 05:21 PM

如何在子域名间共享会话?通过设置通用域名的会话cookie实现。1.在服务器端设置会话cookie的域为.example.com。2.选择合适的会话存储方式,如内存、数据库或分布式缓存。3.通过cookie传递会话ID,服务器根据ID检索和更新会话数据。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版