सवाल फेसबुक एपीआई: उन लोगों के प्रशंसकों को प्राप्त करें जो एक पृष्ठ पसंद करते हैं


मैं उन उपयोगकर्ताओं की एक सूची प्राप्त करना चाहता हूं जो एक निश्चित पृष्ठ या इसके प्रशंसक को पसंद करते हैं।

एफबी एपीआई दस्तावेज बताता है कि आप केवल सामाजिक ग्राफ का उपयोग करके किसी निश्चित पृष्ठ के प्रशंसकों की गिनती प्राप्त कर सकते हैं, लेकिन प्रशंसकों की सूची नहीं।

यहां एक चर्चा फेसबुक फैन नाम पुनर्प्राप्त करें सुझाव देता है कि कोई एक एफक्यूएल क्वेरी का उपयोग कर सकता है SELECT user_id FROM like WHERE object_id="YOUR PAGE ID" पृष्ठ को पसंद करने वाले लोगों की संख्या प्राप्त करने के लिए, लेकिन उसी पृष्ठ के लिए, यह एक खाली प्रतिक्रिया "{}" देता है।

तो मैं सोच रहा था कि अगर किसी को यह पता चल जाए तो क्या किया जा सकता है।


69
2017-10-25 21:04


मूल


आप केवल उन पृष्ठों के प्रशंसकों को प्राप्त कर सकते हैं जिनके लिए आप एक व्यवस्थापक हैं। तो आपको उस पृष्ठ के व्यवस्थापक खाते से जुड़े अपने अनुरोध के साथ पहुंच टोकन प्रदान करना होगा, जिसे आप प्रशंसकों को प्राप्त करने का प्रयास कर रहे हैं। - Nathan Totten
समझा। यह समझ आता है। जवाब के लिए धन्यवाद! - pesho
कैसे? 2 साल बाद भी मुझे कोई रास्ता नहीं दिख रहा है? - Dmitry B.
मैंने आपको 69 वें वोट देने के लिए इसे उखाड़ फेंका: डी - Stupid Kid


जवाब:


टोकन के बिना कुछ fanpage के प्रोफाइल आईडी के साथ प्रशंसक सूची का कुछ हिस्सा पाने के लिए एक "रास्ता" है।

  1. सार्वजनिक ग्राफ डेटा के साथ एक fanpage की आईडी प्राप्त करें: http://graph.facebook.com/cocacola कोका-कोला में 40796308305 है।  अद्यतन 2016.04.30: फेसबुक को ग्राफ के माध्यम से पेज_आईडी प्राप्त करने के लिए एक्सेस टोकन की आवश्यकता है ताकि आप इस आईडी को किसी भी प्राधिकरण के बिना प्राप्त करने के लिए प्रशंसक पृष्ठ सिंटैक्स को पार्स कर सकें https://www.facebook.com/{PAGENAME} जैसा कि प्रशंसक पृष्ठ पर मौजूद ओजी टैग के आधार पर नीचे दिया गया है।
  2. कुछ संशोधित पैराम के साथ सीधे कोका कोला की "प्लगइन की तरह" iframe डिस्प्ले प्राप्त करें: http://www.facebook.com/plugins/fan.php?connections=100&id=40796308305
  3. अब पेज स्रोतों की जांच करें, उनके प्रोफाइल के लिंक के साथ बहुत सारे प्रशंसकों हैं, जहां आप अपनी प्रोफ़ाइल आईडी या उपनाम जैसे पा सकते हैं: http://www.facebook.com/michal.semeniuk ।
  4. यदि आप केवल प्रोफ़ाइल आईडी में दिलचस्पी रखते हैं तो ग्राफ एपीआई का दोबारा उपयोग करें - यह आपको सीधे प्रोफाइल आईडी देगा: http://graph.facebook.com/michal.semeniuk अद्यतन 2016.04.30: फेसबुक को अब ऐसी जानकारी प्राप्त करने के लिए एक्सेस टोकन की आवश्यकता है। आप प्रोफाइल एचटीएमएल सिंटैक्स को पार्स कर सकते हैं, जैसे पहले चरण मेटा टैग में आपका सबसे अच्छा दोस्त है: <meta property="al:android:url" content="fb://profile/{PROFILE_ID}" />

और अब सबसे अच्छा हिस्सा है: प्वाइंट 2 में लिंक रीफ्रेश करने का प्रयास करें (F5) .. कोका-कोला के अन्य प्रशंसकों का एक नया पूर्ण सेट है। केवल उन्हीं सामान लें और आप प्रशंसकों की कुछ अच्छी, लगभग पूरी सूची प्राप्त कर पाएंगे।

- अद्यतन 2013.08.06 -

कुछ प्रशंसकों को लाने के लिए आप मेरी तैयार PHP स्क्रिप्ट का उपयोग क्यों नहीं करते? :)

अद्यतन 2016.04.30: ग्राफ एपीआई से सार्वजनिक डेटा प्राप्त करने के लिए फेसबुक को एक्सेस टोकन की आवश्यकता होने के बाद नई विधियों का उपयोग करने के लिए अद्यतन उदाहरण स्क्रिप्ट।

function fetch_fb_fans($fanpage_name, $no_of_retries = 10, $pause = 500000 /* 500ms */){
    $ret = array();
    // prepare real like user agent and accept headers
    $context = stream_context_create(array('http' => array('header' => 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/49.0.2623.108 Chrome/49.0.2623.108 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nAccept-encoding: gzip, deflate, sdch\r\nAccept-language: en-US,en;q=0.8,pl;q=0.6\r\n')));
    // get page id from facebook html og tags for mobile apps
    $fanpage_html = file_get_contents('https://www.facebook.com/' . $fanpage_name, false, $context);
    if(!preg_match('{fb://page/(\d+)}', $fanpage_html, $id_matches)){
        // invalid fanpage name
        return $ret;
    }
    $url = 'http://www.facebook.com/plugins/fan.php?connections=100&id=' . $id_matches[1];
    for($a = 0; $a < $no_of_retries; $a++){
        $like_html = file_get_contents($url, false, $context);
        preg_match_all('{href="https?://www\.facebook\.com/([a-zA-Z0-9\._-]+)" class="link" data-jsid="anchor" target="_blank"}', $like_html, $matches);
        if(empty($matches[1])){
            // failed to fetch any fans - convert returning array, cause it might be not empty
            return array_keys($ret);
        }else{
            // merge profiles as array keys so they will stay unique
            $ret = array_merge($ret, array_flip($matches[1]));
        }
        // don't get banned as flooder
        usleep($pause);
    }
    return array_keys($ret);
}

print_r(fetch_fb_fans('TigerPolska', 2, 400000));

71
2018-06-05 23:22



इसे ग्राफ एपीआई या एफक्यूएल के माध्यम से कैसे प्राप्त करें? मुझे लगता है कि कोई रास्ता नहीं है कि हम प्रोफ़ाइल नाम प्राप्त कर सकें जिसने पृष्ठ पसंद किया। - Sanket
प्लगइन की तरह आप इस बारे में कहां से पता चला? - James P.
@ सांकेत बिंदु 4. आपको मेरा पहला और अंतिम नाम देता है। - s3m3n
@JamesPoulson यह बाहरी वेबपृष्ठों पर एम्बेड करने के लिए प्लगइन की तरह आधिकारिक एफबी है, यहां तक ​​कि जनरेटर भी है: developers.facebook.com/docs/reference/plugins/like-box - s3m3n
जब मैंने कोशिश की तो आपका दूसरा लिंक अब काम नहीं कर रहा है - Matical


आप नए फेसबुक खोज का उपयोग कर प्रशंसकों को प्राप्त कर सकते हैं: https://www.facebook.com/search/321770180859/likers?ref=about


39
2018-05-22 13:06



क्या आप कुछ विवरण प्रदान कर सकते हैं? - Oleg
@verbumSapienti यह उत्तर जून 15 के रूप में पूरी तरह मान्य है - Maxim Mazurok
@MaximMazurok यह प्रश्न आपके लिए कामकाजी है ??? - jirungaray
कोशिश की!!! सही काम करता है - 2016: डी - artur99
अभी भी 2016 में काम करता है। बस सुनिश्चित करें कि आप लॉग इन हैं और आप संबंधित एफबी पेज से जुड़े हुए हैं (उदा। व्यवस्थापक, संपादक, विज्ञापनदाता) - Carmela


इसे इस्तेमाल करो।

https://www.facebook.com/browse/?type=page_fans&page_id=<your page id>

यह 500 सबसे हालिया पसंदों तक वापस आ जाएगा।

http://www.facebook.com/browse/?type=page_fans&page_id=<your page id>&start=400

प्रत्येक पृष्ठ आपको 100 प्रशंसकों देगा। पहले 500 प्राप्त करने के लिए प्रारंभ मूल्य (0, 100, 200, 300, 400) बदलें। यदि प्रारंभ है> = 401, पृष्ठ खाली होगा :(


10
2018-01-24 09:48



क्या हम इसे एक आईफ्रेम में एम्बेड कर सकते हैं? - kyo
मैक्स अब 10,000 है। - Noah
अब और काम नहीं कर रहा है? मुझे लगता है कि आपको पृष्ठ का मालिक होना है - Anoyz


इसके अनुसार फेसबुक दस्तावेज किसी पृष्ठ के सभी प्रशंसकों को प्राप्त करना संभव नहीं है:

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


7
2018-06-10 11:09





S3m3n के उत्तर के लिए, फेसबुक प्रशंसकों प्लगइन (उदा। LAMODA) अब सीमा है, आप निरंतर अनुरोधों पर कम से कम नए प्रशंसकों को प्राप्त करते हैं। परिणाम देखने के लिए आप मेरी संशोधित PHP स्क्रिप्ट का प्रयास कर सकते हैं: https://gist.github.com/liruqi/7f425bd570fa8a7c73be#file-facebook_fans_by_plugin-php

एक और दृष्टिकोण फेसबुक ग्राफ खोज है। खोज परिणाम पृष्ठ पर: वे लोग जो "लमोडा" नामक पृष्ठों को पसंद करते हैं , क्रोम कंसोल खोलें और जावास्क्रिप्ट चलाएं:

var run = 0;
var mails = {}
total = 3000; //滚动次数,可以自己根据情况定义

function getEmails (cont) {
    var friendbutton=cont.getElementsByClassName("_ohe");
    for(var i=0; i<friendbutton.length; i++) {
        var link = friendbutton[i].getAttribute("href");

        if(link && link.substr(0,25)=="https://www.facebook.com/") {
            var parser = document.createElement('a');
            parser.href = link;
            if (parser.pathname) {
                path = parser.pathname.substr(1);
                if (path == "profile.php") {
                    search = parser.search.substr(1);
                    var args = search.split('&');
                    email = args[0].split('=')[1] + "@facebook.com\n";
                } else {
                    email = parser.pathname.substr(1) + "@facebook.com\n";
                }
                if (mails[email] > 0) {
                    continue;
                }
                mails[email] = 1;
                console.log(email);
            }
        }
    }
}

function moreScroll() {
    var text="";
    containerID = "BrowseResultsContainer"
    if (run > 0) {
        containerID = "fbBrowseScrollingPagerContainer" + (run-1);
    }
    var cont = document.getElementById(containerID);
    if (cont) {
        run++;
        var id = run - 2;
        if (id >= 0) {
            setTimeout(function() {
                containerID = "fbBrowseScrollingPagerContainer" + (id);
                var delcont = document.getElementById(containerID);
                if (delcont) {
                getEmails(delcont);
                delcont.parentNode.removeChild(delcont);
                }
                window.scrollTo(0, document.body.scrollHeight - 10);
            }, 1000);
        }
    } else {
        console.log("# " + containerID);
    }
    if (run < total) {
        window.scrollTo(0, document.body.scrollHeight + 10);
    }
    setTimeout(moreScroll, 2000);
}//1000为间隔时间,也可以根据情况定义

moreScroll();

यह नए प्रशंसकों को लोड करेगा और उपयोगकर्ता आईडी / ईमेल प्रिंट करेगा, पेज क्रैश से बचने के लिए पुराने डोम नोड्स को हटा देगा। आपको यह स्क्रिप्ट मिल सकती है यहाँ


3
2018-06-17 09:21





यह पन्ना https://developers.facebook.com/docs/reference/fql/like/ लिखा, आप प्रशंसक सूची नहीं प्राप्त कर सकते हैं।

"पोस्ट, वीडियो, नोट, लिंक, फोटो और एल्बम ग्राफ एपीआई ऑब्जेक्ट्स   पसंद नामक समकक्ष कनेक्शन होता है। "

ध्यान दें: क्वेरी की तरह fql बहिष्कृत है


1
2017-10-27 12:31



पृष्ठ नहीं मिला - Bevor
@ बेवर 5 साल पहले यह वहां था। लेकिन अब फेसबुक की तरह प्रश्न गायब हो गया - Murat Kucukosman


तकनीकी रूप से यह एफक्यूएल क्वेरी काम करनी चाहिए, लेकिन किसी कारण से फेसबुक लापता इंडेक्स की वजह से इसे अस्वीकार करता है। सुनिश्चित नहीं है कि यह नीति के कारण है या वे बस भूल गए हैं।

SELECT uid FROM page_fans WHERE page_id="YOUR_PAGE_ID"

0
2017-12-05 21:31





फेसबुक के एफक्यूएल दस्तावेज यहाँ आपको बताता है कि यह कैसे करें। उदाहरण चलाओ SELECT name, fan_count FROM page WHERE page_id = 19292868552 और पेज_आईडी नंबर को अपने पेज के आईडी नंबर से प्रतिस्थापित करें और यह पृष्ठ का नाम और प्रशंसक गिनती वापस कर देगा।


-6
2018-01-03 10:03



प्रश्न पढ़ें। यह पृष्ठ का नाम और पसंद की संख्या देता है ... - Jasper Kennis
वह पूछ रहा है कि पेज को पसंद करने वाले उपयोगकर्ताओं की सूची कैसे प्राप्त करें। - Wes Gamble