2017-09-04 80 views
0

我試圖從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(下簡稱「您也可以合併過濾器」標題)eBay的Browse API示例返回ERR_CONNECTION_RESET和GET請求

我使用這個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); 
}); 

回答

0

只是一個想法,這可能是電子海灣API需要JSONP請求來代替。你可以用aurelia-http-client替換使用提取客戶端的JSON調用來嘗試。這是什麼,這可能看起來像JSONP的例子:

易趣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; 
 
      }); 
 
    } 
 
}

+0

感謝您的回答可惜我無法得到,要麼工作。當我嘗試一個jsonp調用時,我再次遇到了一個ERR_CONNECTION_RESET問題,以及兩個'Warning:一個promise被一個非錯誤拒絕:[object Object]'和'vendor-bundle.js:1395未處理的拒絕(<{「請求消息「:{」method「:」JSONP「,」u ...>,沒有堆棧跟蹤)' 我設法使'this.http.get'只用'q = shirt'查詢,儘管如此,但我無法獲得'.jsonp'的工作 再次感謝您的幫助 – Zoneo

+0

沒問題,在這一點上,如果不重現整個場景就很難調試。 –