【问题标题】:eBay's Browse API Example returns ERR_CONNECTION_RESET with GET requesteBay 的浏览 API 示例返回带有 GET 请求的 ERR_CONNECTION_RESET
【发布时间】:2017-09-04 21:28:12
【问题描述】:

我正在尝试使用 eBay 的 Browse API 从单个卖家那里获取一系列商品。在大多数情况下它可以工作,但是当我尝试他们将卖家列入白名单的示例时,它似乎返回了 ERR_CONNECTION_RESET 错误。他们的示例如下所示:https://developer.ebay.com/api-docs/buy/browse/resources/item_summary/methods/search#w4-w1-w1-w0-w0-parameter-name-filter-7(在“您也可以组合过滤器”标题下)

我正在使用这个 URL,这正是他们的示例:https://api.ebay.com/buy/browse/v1/item_summary/search?q=shirt&filter=price:[10..50],sellers:{rpseller|bigSal}

它似乎不起作用。

我已经尝试了很多很多变体,但每次添加卖家过滤器时似乎都没有任何效果。

这是我当前的代码(出于显而易见的原因,我删除了授权代码)。我正在使用 Aurelia,但我已经在其他地方测试过 API 调用,但它似乎仍然无法正常工作。

httpClient.fetch('https://api.ebay.com/buy/browse/v1/item_summary/search?q=shirt&filter=price:[10..50],sellers:{rpseller|bigSal}', {
    method:"GET",
    headers: {
      Authorization: "Bearer XXXXXXX"
    }
})
.then(response => response.json())
.then(data => {
  console.log(data);
});

【问题讨论】:

    标签: api ebay-api


    【解决方案1】:

    只是想一想,可能是 e-bay API 需要 JSONP 请求。您可以通过将使用 fetch 客户端的 JSON 调用替换为 aurelia-http-client 来尝试此操作。下面是一个使用 JSONP 的示例:

    ebay-api.js

    import {HttpClient} from 'aurelia-http-client';
    import {inject} from 'aurelia-framework';
    
    @inject(HttpClient)
    export class EbayApiJSONP{
        
        constructor(http){
            this.http = http;
            
            this.baseUrl = 'https://api.ebay.com/buy/browse/v1/item_summary/search';
    
            this.http.configure(config => {
                config.withBaseUrl(this.baseUrl);
            });
        }
    
        getProductsJsonp(){
           return this.http.jsonp('?q=shirt&filter=price:[10..50],sellers:{rpseller|bigSal}', 'callback')
              .then(responseMessage => { 
                  return responseMessage.response;
              })
              .then(results => {
                return results;
              });
        }
    }

    【讨论】:

    • 感谢您的回答,但不幸的是我也无法正常工作。当我尝试 jsonp 调用时,我再次遇到了 ERR_CONNECTION_RESET 问题,以及两个 Warning: a promise was rejected with a non-error: [object Object]vendor-bundle.js:1395 Unhandled rejection (<{"requestMessage":{"method":"JSONP","u...>, no stack trace)。不过,我设法让this.http.get 只使用?q=shirt 查询,但我根本无法让.jsonp 工作。再次感谢您的帮助。
    • 没问题,此时如果不重现整个场景就很难调试。祝你好运:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 2019-02-20
    • 2018-04-27
    • 2017-09-25
    相关资源
    最近更新 更多