2016-09-07 6 views
5

में अनंत लूप मैं एक फेसबुक मैसेंजर बॉट कर रहा हूं। इसे शुरू करने के बाद, यह वेबहूक पर कॉल करता है। दुर्भाग्य से पहली शुरुआत के बाद एक ही पैरामीटर के साथ एक ही कॉल फेंकना बंद नहीं होगा। सेटिंग्स हैं:वेबहूक

स्रोत कोड है? केवल एक कॉल क्यों करता है?

उत्तर

2

अपने कोड से मैंने तय कर लिया है कि आप अपने webhook सेटअप नहीं कर सकते हैं तो से documentation

अपने webhook यूआरएल में सत्यापन के लिए कोड जोड़ें। आपके कोड को सत्यापित करना चाहिए जिसे आपने पहले परिभाषित सत्यापन टोकन की अपेक्षा की थी, और सत्यापन अनुरोध में वापस भेजे गए चुनौती के साथ प्रतिक्रिया दें। अनुरोध प्राप्त करने के साथ अपने वेबहूक को कॉल करने के लिए नए पृष्ठ सदस्यता में "सत्यापित करें और सहेजें" बटन पर क्लिक करें।

तो, पीएचपी webhook सेटअप के साथ एक सफल बनाने के लिए के लिए आप hub_challenge पैरामीटर लौट जाना चाहिए।

अपने टोकन के माध्यम से $ verify_token परिभाषित करें और की तरह कुछ जोड़ें:

if (!empty($_REQUEST['hub_mode']) && $_REQUEST['hub_mode'] == 'subscribe' && $_REQUEST['hub_verify_token'] == $verify_token) { 

    // Webhook setup request 
    echo $_REQUEST['hub_challenge']; exit; 
} 

सफलता सेटअप के बाद, आप अपनी स्क्रिप्ट से इस कोड को हटा सकते हैं।

या, यदि आपका webhook पहले से ही झुका:

आप छोड़ देना चाहिए किसी भी संदेश, इस तरह पढ़ा और वितरण:

if (!empty($input['entry'][0]['messaging'])) { 
    foreach ($input['entry'][0]['messaging'] as $message) { 

     // Skipping delivery messages 
     if (!empty($message['delivery'])) { 
      continue; 
     } 

     // Skipping read messages 
     if (!empty($message['read'])) { 
      continue; 
     } 
    } 
} 

या, आप message_reads & message_deliveries अचयनित कर सकते हैं अपने फेसबुक पेज सेटिंग्स/वेबहूक के पेज सदस्यता अनुभाग में चेकबॉक्स।

+0

कि कार्य पहले ही निर्माण के दौरान किया जा चुका है और इसे पहले ही रद्द कर दिया गया है। इस ऑपरेशन के बिना कॉल करना संभव नहीं था। –

+0

क्या आपके पास कुछ लॉग हैं? आपको वास्तव में क्या संदेश मिलता है? – Ancle

+0

इसके अलावा, मैंने अपने कोड पर अपने कोड का परीक्षण किया और यह सही तरीके से काम करता है। – Ancle

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