2010-10-11 27 views
8

के साथ विशिष्ट पृष्ठ के लिए फेसबुक ईवेंट बनाना मुझे अपने सीएमएस से फेसबुक विशिष्ट पृष्ठ पर ईवेंट सिंक्रनाइज़ करना होगा। मैं अपने बनाए गए पेज के लिए एक ईवेंट बनाने की कोशिश कर रहा हूं लेकिन अभी भी कोई परिणाम नहीं है। मैं बस उपयोगकर्ता से संबंधित घटनाएं बना सकता हूं, लेकिन पृष्ठ पर नहीं। कोड Facebook PHP-SDK का उपयोग करता है।एफबी ग्राफ एपीआई

$page_id = '31337'; 
$page = $facebook->api("/{$page_id}"); 
$event_data = array(
    'name'   => 'Event: ' . date("H:m:s"), 
    'start_time' => time() + 60*60, 
    'end_time'  => time() + 60*60*2, 
    'owner'   => $page 
); 
$post = $facebook->api("/{$page_id}/events", 'POST', $event_data); 

इस स्निपेट को क्रियान्वित करने के बाद, घटना बनाई गई है लेकिन जैसा कि मैंने कहा है इससे पहले कि यह उपयोगकर्ता के अंतर्गत आता है, हालांकि दिए गए आंकड़ों में 'मालिक' पृष्ठ है। मेरे ऐप में manage_pages, create_event और publ_stream अनुमतियां हैं। मुझे क्या याद आ रहा है

समाधान

"OLD REST API" प्रलेखन में मैं ने पाया है कि "नए ग्राफ़ एपीआई" अभी भी पैरामीटर जरूरत PAGE_ID। तो चर $ event_data नीचे की तरह होना चाहिए:

$event_data = array(
    'name'   => 'Event: ' . date("H:m:s"), 
    'start_time' => time() + 60*60, 
    'end_time'  => time() + 60*60*2, 
    'page_id'  => $page['id] 
); 
+0

धन्यवाद संभोग! तुमने मेरी मदद की! :) –

उत्तर

3

«उपयोगकर्ता एप्लिकेशन है जो उपयोगकर्ता के लिए एक सक्रिय सत्र कुंजी है अगर की ओर से एक घटना बनाता है; अन्यथा यह एप्लिकेशन की ओर से एक घटना बनाता है। »- Source

क्या यह आपके प्रश्न का उत्तर देता है?

+0

उत्तर के लिए Thx, लेकिन वास्तव में नहीं। जब उपयोगकर्ता लॉग इन नहीं होता है, तो ऐप के पृष्ठ पर ईवेंट बनाया जाता है। लेकिन विशिष्ट पृष्ठ पर नहीं, मेरे पास कौन सी आईडी है। – Pawka

+4

लेकिन आपके दिए गए लिंक में मुझे समाधान मिला है: "पेज_आईड तर्क का उपयोग समूहों और पृष्ठों के लिए ईवेंट जेनरेट करने के लिए किया जा सकता है।" यह अजीब बात है कि "नया ग्राफ एपीआई" दस्तावेज़ में पेज_आईडी पैरामीटर के बारे में जानकारी नहीं है जिसे "पुरानी रीस्ट एपीआई" में वर्णित किया गया है। – Pawka

+1

तब महान :) फेसबुक का दस्तावेज सभ्य से बहुत दूर है, जैसा कि आप शायद अब तक जानते हैं ... –

0

दिलचस्प- मेरा अनुभव बिल्कुल विपरीत है। मैंने पेज_आईडी पैरामीटर के साथ ईवेंट बनाने की कोशिश की और अनुमति त्रुटि मिली। पेज_आईडी को हटा दिया और यह ठीक काम किया। यह चाल उपयोगकर्ता के बजाए एप्लिकेशन एक्सेस टोकन का उपयोग करना था।

+0

आपको अपने आवेदन में अनुमतियों की सूची सेट करनी होगी। http://developers.facebook.com/docs/authentication/permissions वास्तव में 'manage_pages' अनुमति है जो आपको चाहिए। – Pawka

+0

इस तरह नहीं- मेरे पृष्ठ उपयोगकर्ता के बजाए मेरे ऐप द्वारा बनाए जाते हैं, इसलिए कोई प्रबंधन_पृष्ठ अनुमति नहीं है। किसी कारण से, पेज_आईडी निर्दिष्ट करने से एपीआई कॉल विफल हो गई, इसे हटाकर इसे ठीक काम करने के लिए मिला। – Alastair

1

आपको प्रबंधित पृष्ठ के एक्सेस टोकन को पास करने की आवश्यकता है, जिसे आप graph.facebook.com/me/account से प्राप्त कर सकते हैं (निश्चित रूप से आपके द्वारा उपयोग किए जाने वाले प्रशंसक पृष्ठों की सूची प्राप्त करने के लिए अपने एक्सेस टोकन को पास करना)। आप अपने प्रत्येक प्रशंसक पृष्ठों के लिए एक्सेस टोकन की एक सूची देखेंगे, ईवेंट बनाने या अपने fanpage पर पोस्ट करने के लिए उन लोगों का उपयोग करें।

0

पोस्ट बनाने से पहले पृष्ठ पर access_token सेट करें। सुनिश्चित करें कि आपके पास काम करने के लिए "manage_pages" अनुमति है।

इस तरह

:

$page = $fbApi->api('/'.<page_id>,'GET',array('fields'=> 'access_token')); 
$fbApi->setAccessToken($page['access_token']); 
संबंधित मुद्दे