ebay-api - eBay 浏览 API:购物车添加项目不起作用
问题描述
使用Ebay 的 Browse API我遇到了/shopping_cart/add_item方法的问题,当我调用它时,它系统地返回错误 204。
我正在研究 API 的沙箱。这些电话来自加拿大的一个 iOS 应用程序。在那之前,我从响应中请求和检索数据没有任何问题。
这是我如何进行的:
使用沙箱,我使用/item_summary/search检索模拟项目。
用户通过OAuth 流程并授予他的购物车访问我的应用程序的权限。它返回我用于以下请求的用户访问令牌。
最后,我使用以下参数调用add_item :
请求 JSON 参数:
{"quantity": 1, "itemId": "v1|110385018358|0"}
请求标头:
Authorization: Bearer [sandbox user access token from step 2.]
Content-Type: application/json
X-EBAY-C-MARKETPLACE-ID: EBAY_US
然后我得到一个空响应(又名错误 204),虽然它不应该像文档中提到的那样。我得到的响应仅包含以下标头:
{
Status Code: 204, Headers {
Connection = ( "keep-alive" );
"Content-Encoding" = ( gzip );
"Content-Length" = ( 0 );
"Content-Type" = ( "application/json" );
Date = ( "Thu, 22 Nov 2018 15:14:32 GMT" );
RlogId = ( "t6q%60ktkjvdbwrfsl%2Bbmsgcufboja%7Ct6n%3C%3Dsm%7Eufhuoluefqqgwj%284%3F34%3F11%2Busqdrrp%2Bufmadh%7B%2Bceb%7Ce4-fij-1673bfca0ca-0x133" );
"Set-Cookie" = ( "dp1=bu1p/QEBfX0BAX19AQA**5dd7fb58^;Domain=.ebay.com;Expires=Sat, 21-Nov-2020 15:14:32 GMT;Path=/" );
"X-EBAY-C-REQUEST-ID" = ( "ri=LVOZVdAO%2FSpS,rci=n76DxeaOd61P0WBf" );
"X-EBAY-C-VERSION" = ( "1.0.0" );
"X-EBAY-REQUEST-ID" = ( "1673bfca0a9.a0962ac.25e7e.fffdc702!/buy/browse/v1/shopping_cart!10.9.98.172!esbnewesbngcos[]!add_item!10.9.103.137!r1remshopcartapi-envadvcdhidzs5k[ItemClient[!Ginger.ViewItemServiceV1.litedetails!10.9.99.212!r1viappsvc-envadvcdhidzs5k[]]!ShopcartServiceClient[!Ginger.shopcase.v2.POST!10.9.101.40!r1scartsvc-envadvcdhidzs5k[]]]" );
"X-EBAY-SVC-EP-COOKIELET" = ( "321=0001542899671242" );
"X-EBAY-SVC-TRACKING-DATA" = ( "<a>nqt=AA**&!_epec=7,6,8&nqc=AA**</a>" );
}
}
此外,使用我上面使用的测试用户登录ebay 沙盒网站,如果我打开购物车,我会得到一个错误页面,说明:
我们无法加载您的购物车。请再试一次。如果问题仍然存在,请联系客户支持或向我们发送反馈。
仍然来自沙盒网站,当我打开任何项目时,我收到另一个错误说明:
不幸的是,由于某些国家/地区的法律限制,访问此特定项目已被阻止。[...]
我仍然希望问题出在我身上而不是 Ebay 上,因为他们的 API 仍然是 Beta。
解决方案
嗯......它在 API 文档中没有,但隐藏在沙盒网站页面“沙盒不受支持的功能列表”中的某个地方:
不支持购物车。您可能会看到某些功能正常工作,例如将商品添加到购物车,但请不要依赖或期望购物车正常运行。
尽管它声明 AddItem 可能有效,但实际上并没有,所以我想这是预期的,我应该将此作为我问题的答案。
真令人沮丧……我想我能做的就是等待 Ebay 的合作伙伴批准。
推荐阅读
- reactjs - 从调度程序获取未定义的结果
- java - 你能改变一个不可变的类吗?
- c++ - C++ std::thread 在没有活动异常的情况下终止调用已中止
- tensorflow - 自定义反向传播
- react-native - 关于反应原生的 podfile 问题
- android - 如何确保为每个设备创建一个房间,而不是每次启动应用程序时创建一个新实例
- python - 聚合函数的分组和过滤
- mysql - 如何使用python访问位于不同位置(非本地)的另一台机器上的MySQL数据库
- angular - 使用 ngx-translate/core 进行角度翻译
- excel - 如何在多列中的公式中查找特定文本(基于列标题名称)并替换为不同的文本