我正在尝试与 Yahoo! 的 Checkout API 集成,用于基于 Django 的网络应用程序中的现有商家帐户。我已经成功地集成了他们的 Catalog API,但由于某种原因,我根本无法让 Checkout API 工作。我根据他们文档中的示例制作了一个 XML 请求,但它总是简单地返回一个 10009 Auth Required 错误。我已确认我的合作伙伴帐户确实具有正确的授权,但我无法弄清楚为什么会出现此错误。我不相信这是一个格式错误的请求,因为当我复制并粘贴他们的示例请求(显然更改 API 令牌等)时,我得到了完全相同的结果。
这就是我的请求的样子(商店 ID 和令牌已清理):
<ystorews:ystorewsRequest xmlns:ystorews="urn:yahoo:sbs:ystorews">
<Version>1.0</Version>
<StoreID>{storeid}</StoreID>
<SecurityHeader>
<PartnerStoreContractToken>{token}</PartnerStoreContractToken>
</SecurityHeader>
<Verb>create</Verb>
<ResourceList>
<CheckoutBasket>
<ShoppingCart>
<Item>
<ID>foo</ID>
<Quantity>5</Quantity>
</Item>
</ShoppingCart>
</CheckoutBasket>
</ResourceList>
</ystorews:ystorewsRequest>
这是我得到的回应:
<?xml version="1.0" encoding="utf-8"?>
<ystorewsResponse>
<ErrorMessages>
<Error>
<Code> 10009 </Code>
<Message> Auth Required </Message>
</Error>
</ErrorMessages>
</ystorewsResponse>
这就是我的合作伙伴 API 访问的样子: