2012-05-20 13 views
10

ईबे एपीआई का उपयोग करके मुझे एक बड़ी वस्तु छवि कैसे मिल सकती है? जब मैं galleryURL का उपयोग करता हूं तो नीचे एपीआई कॉल एक थंबनेल छवि देता है। मैंने इसे PictureURLLarge के साथ बदलने की कोशिश की, लेकिन यह एक यूआरएल वापस नहीं आया।ईबे एपीआई - बड़ी वस्तु तस्वीरें कैसे प्राप्त करें?

(लाइन मैं की बात कर रहा हूँ नीचे से 16 वीं है: $ पिक = $ आइटम,> GALLERYURL;)

// API request variables 
     $endpoint = 'http://svcs.ebay.com/services/search/FindingService/v1'; // URL to call 
     $version = '1.11.0'; // API version supported by your application 
     $appid = 'XXXXX'; // Replace with your own AppID 
     $globalid = 'EBAY-US'; // Global ID of the eBay site you want to search (e.g., EBAY-DE) 
     $query = "soft thin (shirt, tshirt, t-shirt)"; // Supply your own query 
     $safequery = urlencode($query); // Make the query URL-friendly 
     $i = '0'; // Initialize the item filter index to 0 

     // Create a PHP array of the item filters you want to use in your request 
     $filterarray = 
     array(
      array(
      'name' => 'MaxPrice', 
      'value' => '1500', 
      'paramName' => 'Currency', 
      'paramValue' => 'USD'), 
      array(
      'name' => 'FreeShippingOnly', 
      'value' => 'false', 
      'paramName' => '', 
      'paramValue' => ''), 
      array(
      'name' => 'ListingType', 
      'value' => array('AuctionWithBIN','FixedPrice','StoreInventory'), 
      'paramName' => '', 
      'paramValue' => ''), 
     ); 

     // Generates an indexed URL snippet from the array of item filters 
     function buildURLArray ($filterarray) { 
     global $urlfilter; 
     global $i; 
     // Iterate through each filter in the array 
     foreach($filterarray as $itemfilter) { 
      // Iterate through each key in the filter 
      foreach ($itemfilter as $key =>$value) { 
      if(is_array($value)) { 
       foreach($value as $j => $content) { // Index the key for each value 
       $urlfilter .= "&itemFilter($i).$key($j)=$content"; 
       } 
      } 
      else { 
       if($value != "") { 
       $urlfilter .= "&itemFilter($i).$key=$value"; 
       } 
      } 
      } 
      $i++; 
     } 
     return "$urlfilter"; 
     } // End of buildURLArray function 

     // Build the indexed item filter URL snippet 
     buildURLArray($filterarray); 

     // Construct the findItemsAdvanced HTTP GET call 
     $apicall = "$endpoint?"; 
     $apicall .= "OPERATION-NAME=findItemsAdvanced"; 
     $apicall .= "&SERVICE-VERSION=$version"; 
     $apicall .= "&SECURITY-APPNAME=$appid"; 
     $apicall .= "&GLOBAL-ID=$globalid"; 
     $apicall .= "&descriptionSearch=true"; 
     $apicall .= "&categoryId=110"; 
     $apicall .= "&keywords=$safequery"; 
     $apicall .= "&paginationInput.entriesPerPage=100"; 
     $apicall .= "$urlfilter"; 

     // Load the call and capture the document returned by eBay API 
     $resp = simplexml_load_file($apicall); 

     // Check to see if the request was successful, else print an error 
     if ($resp->ack == "Success") { 
     $results = ''; 
     // If the response was loaded, parse it and build links 
     foreach($resp->searchResult->item as $item) { 
      $pic = $item->galleryURL; 
      $link = $item->viewItemURL; 
      $title = $item->title; 
      $ship = (float) $item->shippingInfo->shippingServiceCost; 
      $price = (float) $item->sellingStatus->currentPrice; 
      $sell = ($ship + $price); 

      // For each SearchResultItem node, build a link and append it to $results 
      $results .= "<a href=\"$link\" title=\"$title\" target=\"_blank\"><div class=\"shirt-block\"><img src=\"$pic\" width=\"200\" height=\"200\"><br /><br /><span class=\"cost\">$$sell</span></div></a>"; 
     } 
     } 
     // If the response does not indicate 'Success,' print an error 
     else { 
     $results = "<h3>Oops! The request was not successful. Make sure you are using a valid "; 
     $results .= "AppID for the Production environment.</h3>"; 
     } 
+0

आप 'var_dump ($ आइटम)' पाश में कर सकते हैं? साथ ही, क्या आपने '$ item-> pictureURLLarge' (केस संवेदनशील) का प्रयास किया था? –

+1

मैंने समस्या की खोज की, और यह वास्तव में बेवकूफ है। विवरण खोज को "सत्य" के रूप में सेट करना आउटपुट चयनकर्ता का उपयोग करने की क्षमता को अक्षम करता है जो आपको चित्रURLLarge प्राप्त करने देता है। मुझे नहीं पता क्यों ... मुझे रोना चाहता है। – Carson

उत्तर

7

आप सबसे हाल ही में ईबे Forum?

में प्रदान की विधि की कोशिश की

मैं समझाता और आपका मार्गदर्शन करने के कर सकते हैं।

उस सदस्य को findItemsAdvanced अनुरोध के आपके निर्माण में $apicall .= "&outputSelector=$outputSelector"; शामिल करने का सुझाव है।

उस बिंदु पर मैं एक्सएमएल फ़ाइल जांचता हूं कि यह फ़ायरबग के माध्यम से शामिल है (नेट टैब पर क्लिक करें, फिर नीचे एक्सएचआर) पर क्लिक करें। क्रोम में, डेवलपर टूल्स को सक्षम करें और लौटाए गए एक्सएमएल फाइल को देखने के लिए नेटवर्क्स टैब पर क्लिक करें। विस्तृत करने के लिए फ़ाइल पर क्लिक करें और आप व्हाइटस्पेस के बिना सामग्री देखेंगे।

क्योंकि एक्सएमएल फ़ाइल सुंदर होने के लिए नहीं जा रहा है, नकल है कि सामग्री तो यह HERE पठनीयता के लिए यह सुशोभित करने पेस्ट करें।

नमूना एक्सएमएल फ़ाइल HERE कि दोनों pictureURLLarge और pictureURLSuperSize दिखाया गया है।

एक बार जब आप सत्यापित करें कि बड़ी छवि के लिए URL अपने एक्सएमएल फ़ाइल में शामिल किया गया है, दूसरे चरण के लिए तो जैसे अपने मार्कअप में उपयोग करने के लिए है:

$pic = $item->pictureURLLarge; 

या

$pic = $item->pictureURLSuperSize; 

क्षमा करें मैं अपने खुद के eBay AppID का परीक्षण करने की जरूरत नहीं है और उनके एपीआई खेल का मैदान लिंक टूटी हुई है, लेकिन आगे आपकी सहायता कर में कुछ भी स्पष्ट नहीं है कि है।

यह सुनिश्चित हो, पहला कदम बड़ी छवि अनुरोध प्राप्त करने के लिए है और दूसरे चरण बस छवि का उपयोग करने के लिए है।

+0

आपके प्रयासों के लिए धन्यवाद। जल्द ही जवाब देने के लिए खेद है, लेकिन मैं मेक्सिको में इंटरनेट कनेक्शन के बिना रहा हूं। मैंने ऊपर जो कहा है, मैंने कोशिश की है, लेकिन जब मैं फ़ायरबग का उपयोग करता हूं तो मुझे एक एक्सएमएल फ़ाइल नहीं दिखाई देती है। वेबसाइट है: http://shirtcake.com/ शायद आप वहां कुछ और देख सकते हैं? – Carson

+0

क्लोजिंग बॉडी टैग का पहला उदाहरण हटा दिया जाना चाहिए क्योंकि आपके पास दूसरा स्थान है। उस पहले क्लोजिंग बॉडी टैग के तहत jQuery v1.71 का एक और उदाहरण है, जबकि यदि आप उत्तर देखते हैं तो पहले आपके पास v1.6.4 इंस्टॉल है। मुझे eBay बनाने के किसी भी प्रकार का अनुरोध नहीं दिख रहा है और न ही मैं आपके द्वारा पोस्ट किए गए उपरोक्त मार्कअप में से कोई भी देखता हूं। कहाँ है? – arttronics

+0

हम, शायद वे आपके उपयोग की PHP प्रक्रिया के साथ एक त्रुटि है। यह [ईबे ट्यूटोरियल] (http: //developer.ebay।com/devzone/find/howTo/PHP_SearchInterm_NV_XML/PHP_SearchInterm_NV_XML.html) डाउनलोड करने योग्य परियोजना फ़ाइलों और चरण-दर-चरण निर्देशों को सुनिश्चित करने के लिए है कि PHP प्रक्रिया सही है, सर्वर पक्ष। पीएचपी फाइलें भी आपकी सिफारिशों में PHP प्रक्रिया बनाने/स्थापित करने में सहायता के लिए आपके जैसे मार्कअप दिखा रही हैं। क्या यह मदद करता है? – arttronics

संबंधित मुद्दे