2009-08-09 10 views
6

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

यदि मेरा एप्लिकेशन एक आईफ्रेम ऐप (PHP) है, तो क्या मैं पृष्ठ के भीतर FBML का उपयोग कर सकता हूं या मुझे XFBML का उपयोग करने की आवश्यकता है? अगर मुझे एक्सएफबीएमएल का उपयोग करने की ज़रूरत है, तो क्या वहां कहीं स्निपेट का एक भंडार है जिसे मैं देख सकता हूं?

मैं एक दोस्त चयनकर्ता बॉक्स जोड़ने के लिए देख रहा हूँ। उदाहरण के लिए, ऐप में आपका स्वागत है, ऑब्जेक्ट चुनें, इसे 20 दोस्तों को भेजें।

आपको लगता है कि एक मित्र चयनकर्ता फेसबुक ऐप्स के लिए एक स्टॉक घटक होगा, लेकिन स्पष्ट रूप से नहीं।

मैं अपने स्वयं को परिभाषित करने के लिए एफबीक्यूएल और सीएसएस का उपयोग कर सकता हूं, लेकिन मानक और स्थिरता अच्छा नहीं होगा?

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

उत्तर

8

मुझे लगता है कि मैं एक फेसबुक प्रश्न के हर जवाब में सोचता हूं, "मुझे लगता है कि" फेसबुक दस्तावेज बेकार है, इसलिए अगर आपको कुछ नहीं मिल रहा है तो बुरा मत मानो। "

उत्तर हाँ है, आप निश्चित रूप से एक आईफ्रेम एप्लिकेशन में एफबीएमएल का उपयोग कर सकते हैं। मैं इसे नियमित रूप से करता हूं। फेसबुक XFBML के साथ IFrame ऐप्स और FBML ऐप्स के बीच की रेखाओं को धुंधला कर रहा है, जो कि बहुत अच्छा है। असल में, एक्सएफबीएमएल सिर्फ नियमित एफबीएमएल है, सिवाय इसके कि इसे फेसबुक कनेक्ट जावास्क्रिप्ट पुस्तकालयों के माध्यम से पार्स किया गया है और प्रस्तुत किया गया है। इस वजह से, आप एफबीएमएल नियंत्रण प्रदान करने से पहले देरी का थोड़ा सा देखते हैं, लेकिन आम तौर पर यह एक बड़ी समस्या नहीं है।

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

वैसे भी, कुछ कोड:

<fb:serverfbml style="width: 650px;"> 
<script type="text/fbml"> 
    <fb:fbml> 
     <fb:request-form 
      action="http://my.app.com/invite/sent" 
      method="POST" 
      invite="true" 
      type="My App Name" 
      content="You should use My App Name. All the cool kids are doing it. 
       <fb:req-choice url='http://apps.facebook.com/my-app' 
       label='<?php 
        echo htmlspecialchars("That sounds sweet!",ENT_QUOTES); 
        ?>' 
       /> 
      " > 
      <fb:multi-friend-selector 
       showborder="false" 
       actiontext="Invite your friends to use My App Name." 
       exclude_ids="1234556,465555" 
       rows="3" 
      /> 
     </fb:request-form> 
    </fb:fbml> 
</script> 
</fb:serverfbml> 

पलायन उद्धरण सभी नेस्टेड टैग के साथ एक सा मुश्किल हो जाता है, तो आप उस को देखने के लिए तो। आप देख सकते हैं कि मेरा उदाहरण एक PHP ऐप से है, और मैंने केवल htmlspecialchars() एस्केप कॉल को केवल चित्रकारी उद्देश्यों के लिए छोड़ दिया है (भले ही उस विशेष स्ट्रिंग को भागने की आवश्यकता नहीं है)।

किसी भी तरह, अगर आपके पास पहले से ही आपके आईफ्रेम ऐप के लिए फेसबुक कनेक्ट स्थापित है, तो इसे थोड़ा tweaking के साथ काम करना चाहिए। अगर आपके पास अभी तक फेसबुक कनेक्ट नहीं है, तो XFBML wiki page पर रेंडरिंग एक्सएफबीएमएल निर्देशों का पालन करें।

+0

Zombat, जानकारी के लिए धन्यवाद। हालांकि, यह अभी तक एक और सवाल लाता है। मैं वर्तमान में PHP क्लाइंट लाइब्रेरी का उपयोग कर रहा हूं और पारंपरिक कोड $ facebook = नया फेसबुक ($ appapikey, $ appsecret); $ user_id = $ facebook-> requ_login(); वहां से मैं उपयोगकर्ता जानकारी वापस खींचने के लिए FBQL चला रहा हूं। इन संघर्षों को FB.Init() कॉल के साथ बिल्कुल करें? –

+1

नहीं। फेसबुक PHP क्लाइंट जावास्क्रिप्ट पुस्तकालयों से पूरी तरह से अलग है, क्योंकि यह पूरी तरह सर्वर-साइड है। PHP लाइब्रेरी और जावास्क्रिप्ट पुस्तकालय आपको अलग-अलग वातावरण (यानी सर्वर-साइड और क्लाइंट-साइड) में, वही काम करने की अनुमति देते हैं। – zombat

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