向 eBay 发出简单的授权请求
Making a simple authorized request to eBay
我计划使用 PHP 将网站与 eBay 集成,但首先我要使用 Postman 测试所有内容。
授权花了我一整天的时间,但我想我现在已经可以使用了。 (我不得不更新到最新版本的 Postman,然后我得到它来为我创建一个令牌。)
我说我 认为 因为我还没有设法让一个请求工作。我特意选择了 bulkGetInventoryItem (documentation),因为它似乎是更容易获得授权的请求之一。我只知道当身份验证设置错误时,我会收到与正确设置不同的错误消息。
出于故障排除的原因,我制作了一个包含所有范围的令牌:
- https://api.ebay.com/oauth/api_scope
- https://api.ebay.com/oauth/api_scope/sell.marketing
- https://api.ebay.com/oauth/api_scope/sell.inventory
- https://api.ebay.com/oauth/api_scope/sell.account
- https://api.ebay.com/oauth/api_scope/sell.fulfillment
- https://api.ebay.com/oauth/api_scope/sell.finances
- https://api.ebay.com/oauth/api_scope/sell.payment.dispute
- https://api.ebay.com/oauth/api_scope/commerce.identity.readonly
(添加为 space 分隔的链接列表)
我已经将其中一个 eBay 列表更改为具有“123456”的 SKU 只是为了这个测试,但是我得到的错误与我将 "sku": "123456"
更改为 "sku": "anObviouslyFakeSKU"
完全一样,但我更改的任何其他内容都会产生新错误,因此我怀疑该问题与 SKU 相关,但也许不是。 (我发现 eBay API 发送相关错误消息的能力很差。)
我对 Postman 很陌生,所以这很可能是菜鸟犯的错误。
早期的错误显示为小的标点符号问题或勾选了错误的单选按钮,所以希望无论这次错误是什么,它都应该出现在这张截图中。
这次我做错了什么? (如果我可以发送任何其他可能有帮助的屏幕截图,请告诉我。)
为了帮助 post 的 SEO 和 copy/pasting 的易用性,我将上面截图中的重要文本抄录下来:
url
POST https://api.ebay.com/sell/inventory/v1/bulk_get_inventory_item
正文,原始
{
"requests": [
{
"sku": "123456"
}
]
}
输出
{
"errors": [
{
"errorId": 2003,
"domain": "ACCESS",
"category": "APPLICATION",
"message": "Internal error",
"longMessage": "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance",
"parameters": [
{
"name": "reason",
"value": "Failed to transform underlying error response, see logs."
}
]
}
]
}
更新:
再截图一张
更新二:
另一个截图
您需要在 Postman 中检查的一些事项。
当您进行身份验证并收到令牌时,您是否在像这样 POST https://api.ebay.com/sell/inventory/v1/bulk_get_inventory_item
?
的 api 调用中发布该令牌
你设置Authorization HTTPheader认证授权了吗?
你设置Content-Typeheader调用application/json
了吗?
更新
在 Postman 中使用环境变量授权:
Postman 环境变量文档:
https://learning.postman.com/docs/postman/variables-and-environments/variables/
我想通了这个问题。我最大的错误是选择 bulkGetInventoryItem
作为 "simplest" 调用。我应该选择 getInventoryItem
,因为该函数的错误报告对用户友好得多。
所以对于完全相同的请求,我得到的错误是 "We didn't find the entity you are requesting. Please verify the request"
快速 google 的错误让我找到了这个页面 https://forums.developer.ebay.com/questions/17883/cannot-get-my-listed-product-by-get-inventory-api.html 这让我找到了正确的答案!
无法访问我试图访问的库存项目,因为它不是通过开发人员创建的 API。
我希望这个答案对其他人有所帮助,因为在解决 bulkGetInventoryItem
.
之前尝试 getInventoryItem
浪费了我一整天的时间
我计划使用 PHP 将网站与 eBay 集成,但首先我要使用 Postman 测试所有内容。
授权花了我一整天的时间,但我想我现在已经可以使用了。 (我不得不更新到最新版本的 Postman,然后我得到它来为我创建一个令牌。)
我说我 认为 因为我还没有设法让一个请求工作。我特意选择了 bulkGetInventoryItem (documentation),因为它似乎是更容易获得授权的请求之一。我只知道当身份验证设置错误时,我会收到与正确设置不同的错误消息。
出于故障排除的原因,我制作了一个包含所有范围的令牌:
- https://api.ebay.com/oauth/api_scope
- https://api.ebay.com/oauth/api_scope/sell.marketing
- https://api.ebay.com/oauth/api_scope/sell.inventory
- https://api.ebay.com/oauth/api_scope/sell.account
- https://api.ebay.com/oauth/api_scope/sell.fulfillment
- https://api.ebay.com/oauth/api_scope/sell.finances
- https://api.ebay.com/oauth/api_scope/sell.payment.dispute
- https://api.ebay.com/oauth/api_scope/commerce.identity.readonly
(添加为 space 分隔的链接列表)
我已经将其中一个 eBay 列表更改为具有“123456”的 SKU 只是为了这个测试,但是我得到的错误与我将 "sku": "123456"
更改为 "sku": "anObviouslyFakeSKU"
完全一样,但我更改的任何其他内容都会产生新错误,因此我怀疑该问题与 SKU 相关,但也许不是。 (我发现 eBay API 发送相关错误消息的能力很差。)
我对 Postman 很陌生,所以这很可能是菜鸟犯的错误。
早期的错误显示为小的标点符号问题或勾选了错误的单选按钮,所以希望无论这次错误是什么,它都应该出现在这张截图中。
这次我做错了什么? (如果我可以发送任何其他可能有帮助的屏幕截图,请告诉我。)
为了帮助 post 的 SEO 和 copy/pasting 的易用性,我将上面截图中的重要文本抄录下来:
url
POST https://api.ebay.com/sell/inventory/v1/bulk_get_inventory_item
正文,原始
{
"requests": [
{
"sku": "123456"
}
]
}
输出
{
"errors": [
{
"errorId": 2003,
"domain": "ACCESS",
"category": "APPLICATION",
"message": "Internal error",
"longMessage": "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance",
"parameters": [
{
"name": "reason",
"value": "Failed to transform underlying error response, see logs."
}
]
}
]
}
更新:
再截图一张
更新二:
另一个截图
您需要在 Postman 中检查的一些事项。
当您进行身份验证并收到令牌时,您是否在像这样
的 api 调用中发布该令牌POST https://api.ebay.com/sell/inventory/v1/bulk_get_inventory_item
?你设置Authorization HTTPheader认证授权了吗?
你设置Content-Typeheader调用
application/json
了吗?
更新
在 Postman 中使用环境变量授权:
Postman 环境变量文档: https://learning.postman.com/docs/postman/variables-and-environments/variables/
我想通了这个问题。我最大的错误是选择 bulkGetInventoryItem
作为 "simplest" 调用。我应该选择 getInventoryItem
,因为该函数的错误报告对用户友好得多。
所以对于完全相同的请求,我得到的错误是 "We didn't find the entity you are requesting. Please verify the request"
快速 google 的错误让我找到了这个页面 https://forums.developer.ebay.com/questions/17883/cannot-get-my-listed-product-by-get-inventory-api.html 这让我找到了正确的答案!
无法访问我试图访问的库存项目,因为它不是通过开发人员创建的 API。
我希望这个答案对其他人有所帮助,因为在解决 bulkGetInventoryItem
.
getInventoryItem
浪费了我一整天的时间