2011-04-07 17 views
6

मैं वास्तव में संदेह में हूँ।मैं बटन फेसबुक की तरह का एक XFBML संस्करण के लिए एक AppId की ज़रूरत है?

मैं, मेरी साइट पर बहुत ही सरल फेसबुक प्लगइन्स से कुछ का उपयोग करने के लिए कोशिश कर रहा हूँ विशेष रूप से बुनियादी "लाइक" बटन।

मैं पहले से ही कैसे एक iFrame के साथ सीमित संस्करण का उपयोग करने में पता है।

हालांकि, अब मैं XFBML विधि और ऑनलाइन प्रलेखन यह पता लगाने की कोशिश कर रहा हूँ क्या आप पहले से ही जानते हैं और वास्तव में कार्य करने वाले उदाहरणों की कमी के बारे में मान्यताओं का एक बहुत बनाने के लिए लगता है। उदाहरण के लिए, वे बताएंगे कि कैसे जावास्क्रिप्ट Init कॉल करेगा और आपको तत्व अमेरिकन प्लान के लिए HTML कोड की एक पंक्ति देने के लिए: की तरह ... लेकिन मैं कैसे/छिपाने चेहरे को दिखाने के लिए के किसी भी उदाहरण नहीं दिखाई देता है तो डिफ़ॉल्ट फ़ॉन्ट, आदि सेट कर सकते हैं iFrame कोड की तरह।

मैंने तब से यह पता लगाया है कि आपको तत्व में विशेषताओं के रूप में जोड़ने की आवश्यकता है, लेकिन यह स्टैक ओवरवरफॉ के लिए धन्यवाद था और फेसबुक दस्तावेज़ों के लिए धन्यवाद, जो आपको बस मंडलियों में ले जाता है।

<fb:like href="http://mydomain.com" show_faces="true" action="recommend" colorscheme="light" width="400" height="35" /> 

ठीक है, तो अब जब XFBML कोड का उपयोग कर, यह ऊंचाई स्वचालित रूप से या नहीं में लॉग इन किया जा रहा है मुझे लगता है पर निर्भर करता है/अनुबंध का विस्तार करना चाहिए।

अगर मैं माना जाता रहा हूँ मैं नहीं जानता कि शुरू में ऊंचाई करने के लिए "80" स्थापित करने के लिए या यह है कि अगर आप होता है।

और मुझे नहीं पता कि मैं क्या Init लिपि में 'अपने अनुप्रयोग आईडी' के लिए उपयोग करने के लिए माना जाता रहा हूँ है। कोई ऐप नहीं है ... बस एक फेसबुक कंपनी पेज ... तो मुझे एक ऐप आईडी क्यों चाहिए जब मैं सिर्फ वेबसाइट पर एक लाइक बटन डाल रहा हूं?

<script> 
window.fbAsyncInit = function() { 
    FB.init({ 
    appId: 'your app id', 
    status: true, 
    cookie: true, 
    xfbml: true 
    }); 
}; 

इन मुद्दों पर किसी भी ज्ञान की सराहना की जाएगी।

धन्यवाद!

उत्तर

16

मेरे सारे बाल खींचने के बाद मेरे अपने प्रश्न का उत्तर देना, ...

http://developers.facebook.com/docs/guides/web/

"जावास्क्रिप्ट एसडीके की आवश्यकता है कि आप या किसी ऐप्लिकेशन आईडी पाने के लिए Facebook के साथ अपनी वेबसाइट रजिस्टर (AppID ।) AppID सुनिश्चित करता है कि है कि हम उपयोगकर्ता और अपनी वेबसाइट के बीच जगह में सुरक्षा का सही स्तर अपनी साइट के लिए एक अद्वितीय पहचानकर्ता है निम्न उदाहरण से पता चलता जावास्क्रिप्ट एसडीके लोड करने के लिए कैसे एक बार आप अपने AppID है:। "

http://developers.facebook.com/setup/

उस पृष्ठ/फॉर्म का शीर्षक एक ऐप बनाएं। मुझे अभी भी समझ में नहीं आता है कि वे अधिक सामान्य शब्दावली का उपयोग क्यों नहीं करते हैं। मैं "ऐप बनाना नहीं" हूं और मैं अपनी वेबसाइट को ऐप नहीं मानता हूं।

+18

हाँ, फेसबुक का दस्तावेज बेहद भयानक है। – billmalarky

+2

'appId = 3990840334890' को छोड़कर ठीक काम करता है –

+0

@ पीटर एहरलिच मुझे लगता है कि आप ऐपआईडी प्रदान नहीं करते समय आंकड़े/अंतर्दृष्टि खो देंगे। मेरे लिए भी काम करता है। टिप्पणी प्लगइन के साथ घटना ... – benzkji

1

मेरे पास कोई ऐपआईड नहीं है लेकिन यह कोड like code generator से मिला है और ऐसा लगता है कि यह मेरे स्थानीय वातावरण में काम करता है (जो स्थानीयहोस्ट का उपयोग करता है: 8000 अभी तक 136 पसंद है)। जब मैं बटन दबाता हूं तो मुझे अपेक्षित के रूप में फेसबुक लॉगिन पॉपअप मिलता है।

<div id="fb-root"></div> 
<script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

<fb:like href="url here (optional)" send="true" width="450" show_faces="true"></fb:like> 
0

आप कर सकते हैं ...

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#" > 

... 

window.fbAsyncInit = function() { 
FB.init({ 
    // appId  : 'none', // App ID 
    cookie  : true, // enable cookies to allow the server to access the session 
    xfbml  : true // parse XFBML 
}); 

FB.Event.subscribe('edge.create', function(href, widget) { 
      var ss=href; 
      if (ss.match(/myWebSite/i)) { 
        alert('You just liked me'); 
      } 
}); 
}; 

(function (d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "https://connect.facebook.net/en_GB/all.js#xfbml=1"; 
    //js.src = "https://connect.facebook.net/en_GB/all.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 

... 

<fb:like ref="core" class="fb-like" data-href="http://www.mySite.com" 
data-send="false" data-layout="button_count" 
data-width="50" data-show-faces="false" data-colorscheme="dark"></fb:like> 

ऊपर काम करता है, लेकिन अपने आप की तरह, और और ध्यान दें कि फेसबुक असली पसंद Facebook के साथ पंजीकृत साइटों (एक Spash पेज, #followers, #talking, आदि देने) विभाजित, पसंद आया यूआरएल से यह पता नहीं है । (साइट कम से कम, बढ़ती काउंटर प्राप्त करती है)। यह थोड़ी पसंद होने के उद्देश्य को हरा देता है। मैं गलत हो सकता हूं, लेकिन मुझे लगता है कि यह बाद के बारे में संदेश भी पोस्ट नहीं करता है।

इस बहुत बुरा है, क्योंकि मैं, फिर फेसबुक के लिए फोन नंबर से बाहर चला रहा हूँ :)

मुझे कम से कम, वहाँ एक बड़ा समस्या है के लिए। यदि आप किसी को लाइकिंग के लिए इनाम देने जा रहे हैं, तो आप वास्तव में यह सुनिश्चित नहीं कर सकते कि उन्होंने ऐसा किया है, क्योंकि यह जेएस है। यदि आप किसी इनाम पृष्ठ पर रीडायरेक्ट करने का प्रयास करते हैं, तो उपयोगकर्ता यूआरएल को पेस्ट कर सकता है। आप एक आरएनडी सत्र var सेट कर सकते हैं, इसे जेएस पर पास कर सकते हैं, और जेएस को इसके साथ एक php पेज पर रीडायरेक्ट कर सकते हैं, लेकिन कोई उपयोगकर्ता इसे भी समझ सकता है।

आप नहीं कर सकते करने लगते हैं (या AppID बाहर टिप्पणी की) ...

require 'face_sdk/face/src/facebook.php'; 
$facebook = new Facebook(array(
    'appId' => '', 
    'secret' => '', 
)); 
$user = $facebook->getUser(); 

तो वहाँ कोई सीधा php रास्ता लगता है। मैं php को ifred Like button url को पार करने के साथ खेल रहा था, इसे simple_html_dom.php के साथ पार्स कर रहा हूं, और यह पता लगाने के लिए कि दो मुख्य divs में से कौन सा वर्ग 'hidden_elem' है। लेकिन अंत में, यह सिर्फ इसके लायक नहीं है क्योंकि फेसबुक आपको दूसरे वर्ग के नागरिक की तरह व्यवहार करेगा।

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