2012-11-21 7 views
5

इम मेरे दोस्त सूची दिखाने के लिए और एक फेसबुक वेब एप्लिकेशन में इस आमंत्रित करते हैं, का उपयोग करने के ऐप्लिकेशन में प्रवेश करेंगे जब कैसे अधिसूचना आईडी प्राप्त करने के लिए इस:उपयोगकर्ता में आप फेसबुक अनुरोध संवाद का उपयोग

function sendRequestViaMultiFriendSelector() { 
     FB.ui(
     { 
      method: 'apprequests', 
      message: 'Selección de amigos a los que invitar a KugaBar' 
     }, requestCallback); 
    } 

    function requestCallback(data) { 

     console.log(data); 
} 

यह काम करता है ठीक है, लेकिन मुझे अपने एपीपी में प्रवेश करते समय उपयोगकर्ता की पहचान करने की ज़रूरत है, y अनुरोध देखें कॉलबैक डेटा और "अनुरोध" देखें, लेकिन जब उपयोगकर्ता अधिसूचना में क्लिक करते हैं और एपीपी में प्रवेश करते हैं तो मुझे नहीं पता कि उपयोगकर्ता यह पता लगाने के लिए कैसे पहचानता है कि उपयोगकर्ता अधिसूचना द्वारा accesing।

संपादित करें: ठीक है मुझे पता चला है, जीईटी वर्रों में सर्वो "request_ids" हैं, लेकिन एक समस्या दिखाई देती है, यह पैरा केवल तभी आती है जब उपयोगकर्ता ने पहले अनुमति स्वीकार कर ली हो, यदि उपयोगकर्ता अधिसूचना पर क्लिक करता है, तो स्वीकार करें अनुमतियां, और दर्ज करें, यह param dosent मौजूद है, यदि उपयोगकर्ता फिर से प्रवेश करता है (कुछ भी स्वीकार करने की आवश्यकता नहीं है) यह param यूआरएल में मौजूद है।

उपयोगकर्ता को पहली बार प्रवेश करने के लिए इस पैराम को पाने का कोई तरीका है?

यह संभव है?

धन्यवाद

+0

"समाधान" मिला: $ requestUri = (! खाली ($ _ अनुरोध ['request_ids']))? TAB_URL। 'request_ids ='। $ _REQUEST ['request_ids']: TAB_URL; \t \t $ loginUrl = $ facebook-> getLoginUrl (सरणी ('स्कोप' => APP_SCOPE, 'redirect_uri' => $ requestUri)); गूंज ' '; – Zenth

+0

यदि आपको समाधान मिला तो आप उत्तर पोस्ट कर सकते हैं। और यदि आपके कुछ प्रश्न हल नहीं किए गए हैं, तो कृपया विस्तृत करें? –

उत्तर

0

उपयोगकर्ता पहले एक अनुरोध पर क्लिक करता है, तो आप URL से REQUEST_ID हो और एक कुकी में संग्रहीत करना चाहिए। जब उपयोगकर्ता लॉग इन करना पूरा कर लेता है, तो जांचें कि कुकी मौजूद है या नहीं और फिर तदनुसार अपना रिकॉर्ड अपडेट करें।

0

नोटिफिकेशन और अनुरोध फेसबुक पर एक ही बात नहीं है। आपके मामले में आप अनुरोधों के बारे में बात कर रहे हैं। अनुरोध आईडी को GET पैरामीटर 'request_ids' के रूप में ऐप में पास किया जाता है जो अल्पविराम से अलग सूची है।

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

यदि आप PHP का उपयोग कर रहे हैं, तो आप जिस फ़ंक्शन को ढूंढ रहे हैं वह http_build_query है। मैं एक कुकी और आसानी से सुलभ यूआरएल पैरामीटर स्टोर करने के लिए एक कुकी का उपयोग करने से अत्यधिक हतोत्साहित करता हूं।