2010-09-22 5 views
5

इस सवाल की लंबाई के लिए सबसे पहले माफी मांगती है, और फेसबुक एपीआई के बारे में पूछने के लिए (प्रतीत होता है कि दुनिया में सबसे असंगत एपीआई है ...)।किसी फेसबुक टैब के भीतर से किसी भी प्रकार की जानकारी साझा करने का तरीका कैसे करें?

स्थिति: हम अपने फेसबुक के लिए एक फेसबुक उत्पाद 'समुदाय' - प्रकार का पृष्ठ तैयार कर रहे हैं, जिसमें मानक फेसबुक टैब हैं, जिनमें से एक फ़्लैश खेल को एम्बेड करता है। इस खेल के अंत में हम उपयोगकर्ताओं के अंतिम स्कोर को दीवार पोस्ट के माध्यम से साझा करने में सक्षम होना चाहते हैं, और स्कोर को चुनौती देने के लिए मित्रों को भी आमंत्रित करना चाहते हैं।

सबसे पहले - ग्राहक है कि खेल पृष्ठ में कोई टैब पर दिखाई देता है, तो एक आवेदन करने के लिए यह सब आगे बढ़ जिद है (उदाहरण के लिए, apps.facebook.com) दुर्भाग्य से एक विकल्प नहीं है। मुझे पता है कि आप स्थैतिक एफएमबीएल की बजाय टैब पर एक एप्लिकेशन एम्बेड कर सकते हैं, लेकिन मैंने यह कोशिश की है और नतीजा अनिवार्य रूप से वही है या विफल रहता है (टैब जो प्रस्तुत किया जा सकता है उस पर कड़े प्रतिबंध लगाता है, एफबीएमएल के उपयोग को लागू करता है और इसे अस्वीकार करता है शुरुआत के लिए FB:Iframe टैग)।

वर्तमान में हम इस गेम को एक स्थिर एफबीएमएल टैब पर एम्बेड कर रहे हैं, fb:swf टैग और एफबीजेएस-पुल का उपयोग करके टैब पर कुछ सरल इंटरैक्शन सक्षम करने के लिए (एक नई विंडो पर जाकर इत्यादि)। हमने एफबीजेएस एम्बेड दृष्टिकोण का भी प्रयास किया है, और गेम को एप्लिकेशन में बना दिया है और इसे पृष्ठ पर एक टैब के रूप में जोड़ दिया है। सभी मामलों में, टैब वातावरण में देखने वाले उपयोगकर्ता के यूआईडी को प्राप्त करने का कोई तरीका नहीं है (इस तथ्य के बावजूद कि उन्हें पृष्ठ को पहले स्थान पर देखने के लिए लॉग इन होना चाहिए)। गेम ही फ्लैश एक्शनस्क्रिप्ट 3 है, और मुझे फेसबुक एक्शनस्क्रिप्ट 3 एपीआई का उपयोग करने का विकल्प मिला है। ,

0) स्कोर साझा करने के साथ काम करने का एकमात्र उद्देश्य के साथ एक अलग आवेदन बनाएं आदि

1) उपयोगकर्ता क्लिक: इस दृष्टिकोण सबसे अच्छा प्रक्रिया मैं प्रबंधित किया है अब तक साथ आने के लिए उपयोग करना नीचे उल्लिखित है टैब पेज पर खेल के अंत में 'मेरा स्कोर साझा करें'।

2) SWF एक नया टैब खोलकर मानक फेसबुक 'एप्लिकेशन में लॉगिन' अनुरोध करता है।

3) उपयोगकर्ता इस कार्रवाई की पुष्टि करता है और नई विंडो बंद करता है।

4) उपयोगकर्ता पुष्टि करने के लिए है कि वे प्रवेश कर लिया है फ़्लैश खेल के भीतर एक बार फिर क्लिक करता है।

5) SWF facbook.verifySession() करता है और उपयोगकर्ताओं के दीवार पर पोस्ट अनुमति देने का अनुरोध अभी तक एक और विंडो खुलती है।

6) उपयोगकर्ता इसकी पुष्टि करता है और एक बार फिर गेम में वापस ले जाता है।

7) एसडब्ल्यूएफ 'फेसबुकइवेंट.पीआरएमएसएसएसएस_CHANGED' के लिए सुनता है और पुष्टि होने के बाद दीवार पर पोस्ट करता है।

चूंकि उपयोगकर्ता ने टैब को लोड करते समय एप्लिकेशन को जोड़ा है या नहीं, तो संभवतः उन्हें इस प्रक्रिया का पालन करना होगा जब वे खेल से परिणाम पोस्ट करना चाहते थे, जो घृणास्पद है। मुख्य समस्या यह प्रतीत होती है कि किसी भी RIA को फेसबुक टैब पर रहने के लिए उस टैब के लिए ओथ टोकन के भीतर कोई उपयोगी जानकारी प्राप्त नहीं होती है, apps.facebook.com पर बैठे आरआईए के विपरीत, जो अनुरोध शीर्षलेखों में मुझे आवश्यक सभी जानकारी मिलती है।

बस रखो, मुझे फेसबुक उत्पाद पृष्ठ टैब के भीतर से एक फेसबुक दीवार पोस्ट बनाने के लिए सबसे सरल, सबसे सरल तरीका चाहिए, चाहे एफएमबीएल, एफबीजेएस, एक्शनस्क्रिप्ट 3, एएसपी या उसके किसी भी संयोजन का उपयोग करें।

मैंने यह देखा है: https://stackoverflow.com/questions/3674923/facebook-share-or-publish-dialogue-from-page-tab-closed जो वास्तव में वही प्रश्न है जो मैं पूछ रहा हूं, लेकिन जवाब अस्पष्ट है, और ऐसा नहीं लगता कि यह मेरी समस्या का समाधान करेगा।

उत्तर

1

एफबी टैब एप्लिकेशन एसडब्ल्यूएफ को फ्लैशवर्स में एक सत्र कुंजी प्राप्त करने की अनुशंसा करता हूं, जिसे ओथ टोकन के लिए आदान-प्रदान किया जा सकता है! http://fraserhobbs.com/2010/07/flash-facebook-graph-api-in-tabs/ वास्तव में मेरी मदद की।

+0

यदि यह काम नहीं करता है, तो मैं फ्लैश से ग्राफ एपीआई को कॉल करने के लिए iframe ऐप (टैब सक्षम कर सकता हूं) का उपयोग करने और जेएस एसडीके का उपयोग करने का सुझाव दूंगा। किसी भी काम के बिना उपयोगकर्ता के संदर्भ में कॉल करने के लिए सुंदर निर्बाध होना चाहिए। – Jason

0

<fb:share> टैग का उपयोग करके यह सब आपके लिए किया जाएगा। यदि आप लॉग इन नहीं हैं और आप <fb:share> लिंक पर क्लिक करते हैं, तो यह आपको लॉगिन करने के लिए कहेंगे, अगर आपने अभी तक आवेदन स्वीकार नहीं किया है, तो यह आपको स्वीकार करने के लिए कहेंगे, फिर अपनी दीवार पर पोस्ट करें जो आप चाहते हैं। मैंने गेम को स्कोर करने के लिए उत्पादों को साझा करने के लिए अपनी साइट के साथ ऐसा किया है लेकिन यह सब कुछ भी किया जा सकता है।

संपादित करें:

चेक बाहर Graph API for publishing। यदि आप फ्लैश का उपयोग कर रहे हैं, तो मैं Facebook Flash SDK

+0

उत्तर के लिए धन्यवाद, लेकिन मुझे फ्लैश एप्लिकेशन के भीतर से इस कार्यक्षमता को कॉल करने में सक्षम होना चाहिए। मैं सोच रहा था कि एक ही समारोह एफबीजेएस कॉल के माध्यम से किया जा सकता है? यह मेरे लिए सबसे अच्छा समाधान होगा लेकिन मैंने यह नहीं देखा है कि कहीं भी – bharling

+0

@bharling मैंने अपना जवाब अपडेट किया है। – Bot

+0

@भारलिंग: क्या जॉस्टस्टर का जवाब आपके लिए काम करता था? मुझे समाधान में भी दिलचस्पी है। – goliatone

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