SORU
25 EKİM 2010, PAZARTESİ


Facebook API: bir sayfa gibi olan / insanlar hayran Olsun

Belirli bir sayfa veya bir fan gibi kullanıcıların bir listesini almak istiyorum.

FB API belgelerine sadece belirli bir sayfa sosyal grafik kullanarak, ama hayranları bir liste hayranlarının sayısı alabilirsiniz Birleşik Devletleri.

Bir tartışma burada Retrieve Facebook Fan Names öneriyor biri olabilir bir FQL sorgu gibi SELECT user_id FROM like WHERE object_id="YOUR PAGE ID" get sayıda kişi beğendi sayfayı ama aynı sayfayı veriyor boş bir yanıt "{}".

Eğer biri varsa, bu yapılabilir bir fikir olup olmadığını merak ediyordum.

CEVAP
5 HAZİRAN 2012, Salı


Bir "profil bazı cihaz olmadan token. kimlikleri ile" fan Listesinin bir bölümünü elde etmek için bir yol yoktur

  1. Ortak grafik veri ile bir cihaz kimliği olsun: http://graph.facebook.com/cocacola - Coca-Cola 40796308305 vardır.
  2. Coca-Cola "" biraz değiştirilmiş parametreler ile iframe ekran doğrudan: http://www.facebook.com/plugins/fan.php?connections=100&id=40796308305 . eklenti gibi bir şey olsun
  3. Şimdi onay sayfasını kaynakları, profil kimlikleri veya takma gibi bulabileceğiniz profillerine bağlantılar ile hayranları bir yeri vardır: http://www.facebook.com/michal.semeniuk .
  4. Eğer profili sadece ilgilenen varsa kimlikleri yeniden graph apı kullanımı - profil kimliği doğrudan verir: http://graph.facebook.com/michal.semeniuk .

Ve en iyi tarafı şu ki: 2.. Coca-Cola başka bir taraftar yeni tam bir set Var (F5) noktası bağlantısını yenilemek için deneyin. Sadece tekil al ve hayranları, hemen hemen tam güzel liste almak mümkün olacak.

-- GÜNCELLEME -- 2013.08.06

Neden bazı hayranları almaya hazır benim PHP komut dosyası kullan. :)

function fetch_fb_fans($fanpage_name, $no_of_retries = 10, $pause = 500000 /* 500ms */){
    $ret = array();
    // get page info from graph
    $fanpage_data = json_decode(file_get_contents('http://graph.facebook.com/' . $fanpage_name), true);
    if(empty($fanpage_data['id'])){
        // invalid fanpage name
        return $ret;
    }
    $matches = array();
    $url = 'http://www.facebook.com/plugins/fan.php?connections=100&id=' . $fanpage_data['id'];
    $context = stream_context_create(array('http' => array('header' => 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0')));
    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._-] )" 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));
// prints 73 unique fan names as array

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • esnathesinger

    esnathesinge

    6 NİSAN 2009
  • LaKe Lightroom Tutorials

    LaKe Lightro

    22 Temmuz 2014
  • MndsgnVEVO

    MndsgnVEVO

    26 Kasım 2013