2016-06-01 4 views
1

eBayのAPI機能eBayのAPI findItemsAdvancedは()バリエーションリスト

findItemsAdvanced() or findItemsByKeywords() 

リターン変動のリストのためのすべてのバリエーションのための複数の結果を返します。同じリスティングで複数の結果を取得できないようにするにはどうすればよいですか?

現在、このページの内容はthis listing であり、結果はhereです。

バリエーションの結果をリストごとに1つの結果にまとめるにはどうすればよいですか?

 <html> 
    <head> 
    <title>eBay Search Results</title> 
    <style type="text/css">body { font-family: arial,sans-serif;} </style> 
    </head> 
    <body> 
    <h1>eBay Search Results</h1> 

    <div id="results"></div> 

    <script> 

    // Parse the response and build an HTML table to display search results 
    function _cb_findItemsByKeywords(root) { 
     var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || []; 
     var html = []; 
     html.push('<table width="100%" border="0" cellspacing="0" cellpadding="3"><tbody>'); 
     for (var i = 0; i < items.length; ++i) { 
     var item  = items[i]; 
     var title = item.title; 
     var pic  = item.galleryURL; 
     var viewitem = item.viewItemURL; 
     if (null != title && null != viewitem) { 
      html.push('<tr><td>' + '<img src="' + pic + '" border="0">' + '</td>' + 
      '<td><a href="' + viewitem + '" target="_blank">' + title + '</a></td></tr>'); 
     } 
     } 
     html.push('</tbody></table>'); 
     document.getElementById("results").innerHTML = html.join(""); 
    } // End _cb_findItemsByKeywords() function 

    // Create a JavaScript array of the item filters you want to use in your request 
    var filterarray = [ 
     {"name":"Seller", 
     "value":"gavdials-com"}, 
     //{"name":"FreeShippingOnly", 
     //"value":"true", 
     //"paramName":"", 
     //"paramValue":""}, 
     ]; 


    // Define global variable for the URL filter 
    var urlfilter = ""; 

    // Generates an indexed URL snippet from the array of item filters 
    function buildURLArray() { 
     // Iterate through each filter in the array 
     for(var i=0; i<filterarray.length; i++) { 
     //Index each item filter in filterarray 
     var itemfilter = filterarray[i]; 
     // Iterate through each parameter in each item filter 
     for(var index in itemfilter) { 
      // Check to see if the paramter has a value (some don't) 
      if (itemfilter[index] !== "") { 
      if (itemfilter[index] instanceof Array) { 
       for(var r=0; r<itemfilter[index].length; r++) { 
       var value = itemfilter[index][r]; 
       urlfilter += "&itemFilter\(" + i + "\)." + index + "\(" + r + "\)=" + value ; 
       } 
      } 
      else { 
       urlfilter += "&itemFilter\(" + i + "\)." + index + "=" + itemfilter[index]; 
      } 
      } 
     } 
     } 
    } // End buildURLArray() function 

    // Execute the function to build the URL filter 
    buildURLArray(filterarray); 

    // Construct the request 
    // Replace MyAppID with your Production AppID 
    var url = "http://svcs.ebay.com/services/search/FindingService/v1"; 
     url += "?OPERATION-NAME=findItemsByKeywords"; 
     url += "&SERVICE-VERSION=1.0.0"; 
     url += "&SECURITY-APPNAME=MyAppID"; 
     url += "&GLOBAL-ID=EBAY-US"; 
     url += "&RESPONSE-DATA-FORMAT=JSON"; 
     url += "&callback=_cb_findItemsByKeywords"; 
     url += "&REST-PAYLOAD"; 
     url += "&keywords=markers"; 
     url += "&paginationInput.entriesPerPage=100"; 
     url += urlfilter; 


    // Submit the request 
    s=document.createElement('script'); // create script element 
    s.src= url; 
    document.body.appendChild(s); 

    // Display the request as a clickable link for testing 
    document.write("<a href=\"" + url + "\">" + url + "</a>"); 

    </script> 
    </body> 
    </html> 
+0

調整が必要な場所がわかるように、既に持っているコードを表示できますか? – zombiecode

+0

@ JamesNewbert-Breen私は自分のユーザー名でeBayのチュートリアルのシンプルなコードを追加しました:http://developer.ebay.com/devzone/finding/howto/GettingStarted_JS_NV_JSON/GettingStarted_JS_NV_JSON.html –

答えて

1

は、あなたが「HideDuplicateItems」項目のフィルタを使用してみました:

ここにeBayからチュートリアルショーとしてコードですか?

また、今後公開するには、必ずeBay APIの認証情報を隠しておいてください。

+0

あなたは正しい。それは今働く。どのように私は資格情報をマスクする必要があります教えてくださいできますか?何が問題なのですか?ありがとう@ helios825 –

+1

あなたの認証情報はこの場合あなたのAppIDです。これは上のコードに公開されています。他の人はあなたのAppIDを盗んで悪用し、さまざまな方法でeBay APIへのアクセスに影響を与えます。それをマスクするには、オリジナルの質問で「xxxxxxxxxxxxx」のように編集します。 – helios825

関連する問題