2013-04-23 79 views
1

我試圖打電話給eBay API並以XML格式返回結果(我正在使用PHP)。eBay API不返回XML格式

在製做以下電話,甚至導航到該網址在瀏覽器中,響應以JSON總是返回,或其他一些時髦的格式,從來沒有在XML:

http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=[removed-for-security]&OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.12.0&RESPONSE-DATA-FORMAT=XML&callback=_cb_findItemsByKeywords&REST-PAYLOAD&keywords=$searchTerm&paginationInput.entriesPerPage=3 

有什麼想法?

編輯:這是我收到什麼:

_cb_findItemsByKeywords({"findItemsByKeywordsResponse":[{"ack":["Success"],"version":["1.12.0"],"timestamp":["2013-04-23T21:41:13.474Z"],"searchResult":[{"@count":"3","item":[{"itemId":["261205412868"],"title":["Apple iPhone 4 - 32GB - Black (Unlocked) Smartphone"],"globalId":["EBAY-US"],"primaryCategory":[{"categoryId":["9355"],"categoryName":["Cell Phones & Smartphones"]}],"galleryURL":["http:\/\/thumbs1.ebaystatic.com\/m\/my0vy-RgnhVBALirMFhHCaA\/140.jpg"],"viewItemURL":["http:\/\/www.ebay.com\/itm\/Apple-iPhone-4-32GB-Black-Unlocked-Smartphone-\/261205412868?pt=Cell_Phones"],"productId":[{"@type":"ReferenceID","__value__":"99939964"}],"paymentMethod":["PayPal"],"autoPay":["false"],"postalCode":["97215"],"location":["Portland,OR,USA"],"country":["US"],"shippingInfo":[{"shippingServiceCost":[{"@currencyId":"USD","__value__":"0.0"}],"shippingType":["Free"],"shipToLocations":["US"],"expeditedShipping":["true"],"oneDayShippingAvailable":["false"],"handlingTime":["2"]}],"sellingStatus":[{"currentPrice":[{"@currencyId":"USD","__value__":"274.99"}],"convertedCurrentPrice":[{"@currencyId":"USD","__value__":"274.99"}],"sellingState":["Active"],"timeLeft":["P4DT23H13M47S"]}],"listingInfo":[{"bestOfferEnabled":["false"],"buyItNowAvailable":["false"],"startTime":["2013-04-23T20:55:00.000Z"],"endTime":["2013-04-28T20:55:00.000Z"],"listingType":["FixedPrice"],"gift":["false"]}],"returnsAccepted":["false"],"condition":[{"conditionId":["3000"],"conditionDisplayName":["Used"]}],"isMultiVariationListing":["false"],"topRatedListing":["false"]},{"itemId":["111054473885"],"title":["Apple iPhone 3GS - 16GB Black (AT&T) Smartphone (MB715LL\/A) With Original Box"],"globalId":["EBAY-US"],"primaryCategory":[{"categoryId":["9355"],"categoryName":["Cell Phones & Smartphones"]}],"galleryURL":["http:\/\/thumbs2.ebaystatic.com\/m\/mVzC6dpqIgRKIzrUTKqH2SA\/140.jpg"],"viewItemURL":["http:\/\/www.ebay.com\/itm\/Apple-iPhone-3GS-16GB-Black-AT-T-Smartphone-MB715LL-A-Original-Box-\/111054473885?pt=Cell_Phones"],"productId":[{"@type":"ReferenceID","__value__":"101828989"}],"paymentMethod":["PayPal"],"autoPay":["false"],"postalCode":["13323"],"location":["Clinton,NY,USA"],"country":["US"],"shippingInfo":[{"shippingType":["Calculated"],"shipToLocations":["US"],"expeditedShipping":["true"],"oneDayShippingAvailable":["false"],"handlingTime":["2"]}],"sellingStatus":[{"currentPrice":[{"@currencyId":"USD","__value__":"73.0"}],"convertedCurrentPrice":[{"@currencyId":"USD","__value__":"73.0"}],"bidCount":["38"],"sellingState":["Active"],"timeLeft":["P0DT0H0M42S"]}],"listingInfo":[{"bestOfferEnabled":["false"],"buyItNowAvailable":["false"],"startTime":["2013-04-16T21:41:55.000Z"],"endTime":["2013-04-23T21:41:55.000Z"],"listingType":["Auction"],"gift":["false"]}],"returnsAccepted":["false"],"condition":[{"conditionId":["3000"],"conditionDisplayName":["Used"]}],"isMultiVariationListing":["false"],"topRatedListing":["false"]},{"itemId":["111058640858"],"title":["Apple iPhone 4 - 16GB - Black (Verizon)"],"globalId":["EBAY-US"],"primaryCategory":[{"categoryId":["9355"],"categoryName":["Cell Phones & Smartphones"]}],"galleryURL":["http:\/\/thumbs3.ebaystatic.com\/m\/my0vy-RgnhVBALirMFhHCaA\/140.jpg"],"viewItemURL":["http:\/\/www.ebay.com\/itm\/Apple-iPhone-4-16GB-Black-Verizon-\/111058640858?pt=Cell_Phones"],"productId":[{"@type":"ReferenceID","__value__":"101787954"}],"paymentMethod":["PayPal"],"autoPay":["true"],"postalCode":["30213"],"location":["Fairburn,GA,USA"],"country":["US"],"shippingInfo":[{"shippingType":["Calculated"],"shipToLocations":["US"],"expeditedShipping":["true"],"oneDayShippingAvailable":["false"],"handlingTime":["2"]}],"sellingStatus":[{"currentPrice":[{"@currencyId":"USD","__value__":"150.0"}],"convertedCurrentPrice":[{"@currencyId":"USD","__value__":"150.0"}],"sellingState":["Active"],"timeLeft":["P2DT21H31M58S"]}],"listingInfo":[{"bestOfferEnabled":["false"],"buyItNowAvailable":["false"],"startTime":["2013-04-23T19:13:11.000Z"],"endTime":["2013-04-26T19:13:11.000Z"],"listingType":["FixedPrice"],"gift":["false"]}],"returnsAccepted":["false"],"condition":[{"conditionId":["3000"],"conditionDisplayName":["Used"]}],"isMultiVariationListing":["false"],"topRatedListing":["false"]}]}],"paginationOutput":[{"pageNumber":["1"],"entriesPerPage":["3"],"totalPages":["488589"],"totalEntries":["1465767"]}],"itemSearchURL":["http:\/\/www.ebay.com\/sch\/i.html?_nkw=iphone&_ddo=1&_ipg=3&_pgn=1"]}]}) 

不知道這是什麼,因爲我已經嘗試來驗證它作爲JSON和它回來說這是無效的。

回答

2

你得到的格式是JSONP。從網址中刪除&callback=_cb_findItemsByKeywords。然後你會得到XML

這裏來,讓您的xml的網址:

http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=[removed-for-security]&OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.12.0&RESPONSE-DATA-FORMAT=XML&REST-PAYLOAD&keywords=$searchTerm&paginationInput.entriesPerPage=3 
+0

這工作。謝謝! – Anterres 2013-04-23 21:44:16

+0

不客氣。看起來像ebay api中的一個錯誤,輸出格式取決於參數的存在。你已經指定了'&RESPONSE-DATA-FORMAT = XML'什麼應該足夠..但是,現在它適用於你.. – hek2mgl 2013-04-23 22:01:35

0

添加&responseencoding=XML到年底或URL。

0

問:JSON有什麼問題;)?

在回答你的問題:

http://developer.ebay.com/devzone/finding/Concepts/MakingACall.html

默認情況下,XML請求呼叫響應是XML格式的,但 可以指定NV或JSON作爲響應格式,如果需要的話。

這裏有一個例子來自eBay的網頁:

http://svcs.ebay.com/services/search/FindingService/v1? 
    OPERATION-NAME=findItemsByKeywords 
    &SERVICE-VERSION=1.0.0 
    &SECURITY-APPNAME=YourAppID 
    &RESPONSE-DATA-FORMAT=XML 
    &REST-PAYLOAD 
    &keywords=harry%20potter%20phoenix 

而且這裏是你的例子:

http://svcs.ebay.com/services/search/FindingService/v1? 
    SECURITY-APPNAME=[removed-for-security] 
    &OPERATION-NAME=findItemsByKeywords 
    &SERVICE-VERSION=1.12.0 
    &RESPONSE-DATA-FORMAT=XML 
    &callback=_cb_findItemsByKeywords 
    &REST-PAYLOAD 
    &keywords=$searchTerm&paginationInput.entriesPerPage=3 

最顯著的差異似乎是你的回調。建議:失去它!

+0

我無法用json_decode/json_encode解析JSON,否則我肯定會嘗試! – Anterres 2013-04-23 21:49:15