2016-06-26 14 views
6

का उपयोग कर एक फेसबुक कार्यक्रम से फ़ोटो और वीडियो प्राप्त करना मैं फेसबुक ग्राफ एपीआई का उपयोग कर एक फेसबुक कार्यक्रम से सभी तस्वीरें और वीडियो लाने का प्रयास कर रहा हूं।ग्राफ़ एपीआई

वर्तमान में मैं /{event-id}/feed endpoint उपयोग कर रहा हूँ, यहाँ https://developers.facebook.com/docs/graph-api/reference/v2.6/event/feed

वर्णित मैं लगभग सब कुछ मैं खेतों मैं चाहता हूँ निर्दिष्ट करके इस endpoint से प्राप्त कर सकते हैं की जरूरत है, लेकिन मैं परेशान करने के लिए URL प्राप्त हो रही है पूर्ण संकल्प में वीडियो। मैं उन्हें एक और एपीआई कॉल करके आसानी से प्राप्त कर सकता हूं, लेकिन यदि संभव हो, तो मैं सभी वीडियो के लिए एक और एपीआई कॉल करने से बचना चाहता हूं।

कृपया ध्यान दें कि /{event-id}/feed एंडपॉइंट Post objects की एक सरणी देता है, जो मैं fields क्वेरी पैरामीटर का उपयोग कर पूछताछ कर रहा हूं।

https://developers.facebook.com/docs/graph-api/reference/v2.6/post

यहाँ खेतों जब /{event-id}/feed endpoint

attachments क्षेत्र मुझे उच्च रिज़ॉल्यूशन में वीडियो और वीडियो के ही आईडी चित्र URL देता बुला निर्दिष्ट करने मैं है। इसका मतलब है कि मुझे /{video-id} एंडपॉइंट का उपयोग करके उच्च रिज़ॉल्यूशन में वीडियो यूआरएल प्राप्त करने के लिए अतिरिक्त एपीआई कॉल करना होगा।

"attachments": { 
     "data": [ 
      { 
       "media": { 
       "image": { 
        "height": 405, 
        "src": "https://scontent.xx.fbcdn.net/v/t15.0-10/s720x720/13433040_10154318390596912_1315696369_n.jpg?oh=46987fa671df2deca3ce935a68e1ff30&oe=58008D60", 
        "width": 720 
       } 
       }, 
       "target": { 
       "id": "10154318389716912", 
       "url": "https://www.facebook.com/{username-removed}/videos/10154318389716912/" 
       }, 
       "type": "video_autoplay", 
       "url": "https://www.facebook.com/{username-removed}/videos/10154318389716912/" 
      } 
     ] 
    } 

source क्षेत्र मुझे कम संकल्प में वीडियो के लिए लिंक देता है।

"source": "https://video.xx.fbcdn.net/v/t42.1790-2/13543016_152852391800500_1248221173_n.mp4?efg=eyJybHIiOjMxMywicmxhIjo1MTIsInZlbmNvZGVfdGFnIjoic3ZlX3NkIn0\u00253D&rl=313&vabr=174&oh=f0f42856741b81030ea529fe89f80834&oe=5771B45B" 

object_id फ़ील्ड मुझे वीडियो आईडी देता है।

properties फ़ील्ड मुझे वीडियो की लंबाई देता है।

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

किसी भी मदद की बहुत सराहना की जाती है। धन्यवाद!

उत्तर

2

"... मैं सोच रहा हूँ अगर यह कुछ नेस्टेड कॉल कि मुझे उच्च संकल्प वीडियो का URL देना होगा ... बनाने के लिए संभव है"

समाधान:

सभी एपीआई कॉल करने के लिए आप एक बार में चाहते हैं, तो आप ग्राफ़ एपीआई के साथ बैच अनुरोध आज़मा सकते हैं।Docs से Facebook API - Making Multiple Requests

उद्धरण::

प्रलेखन पर & उदाहरण देखें

" ... बैचिंग आप एक एकल HTTP अनुरोध में कई कार्यों के लिए निर्देश पारित करने के लिए अनुमति देता है आप। संबंधित संचालन (नीचे दिए गए अनुभाग में वर्णित) के बीच निर्भरताओं को भी निर्दिष्ट कर सकते हैं। फेसबुक आपके स्वतंत्र संचालन के प्रत्येक को समानांतर में संसाधित करेगा और प्रक्रिया करेगा आपके क्रमिक रूप से निर्भर संचालन। एक बार सभी ऑपरेशन पूरा हो जाने के बाद, एक समेकित प्रतिक्रिया आपको वापस भेज दी जाएगी और HTTP कनेक्शन बंद हो जाएगा। "

आप देख सकते हैं, यह एक से अधिक अनुरोध बनाने के लिए और उन दोनों के बीच निर्भरता बनाने के लिए है।
तो जब आप प्राप्त video_id आप में सक्षम अनुरोध वीडियो वहीं संकल्प आप चाहते हैं कर रहे हैं।

+1

हाय @ रुई, स्टैक ओवरव्लो में आपका स्वागत है। मुझे आशा है कि आपको संपादन पर कोई फर्क नहीं पड़ता। बस इसे एक अच्छा जवाब दे रहा है। अगर आप टेस्टेबल उदाहरण कोड स्वयं प्रदान करते हैं, तो केवल एक छोटा सा सुधार है, लेकिन वास्तव में इसकी आवश्यकता नहीं है क्योंकि लिंक सबकुछ बताता है। शुभकामनाएँ। –

+0

यही वह है जो मैं झुका रहा था, लेकिन मुझे यकीन नहीं था कि यह कैसे होगा। अगर कोई उदाहरण था तो यह बहुत अच्छा होगा मैं उन अनुरोधों को एक साथ कैसे बैच कर सकता हूं, ताकि पहला अनुरोध वीडियो आईडी लौटाएगा जो दूसरा अनुरोध कॉल करेगा, अगर यह समझ में आता है। – raRaRa

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