2011-02-02 16 views
13

के माध्यम से एक यूआरएल/वेब पेज की तरह फेसबुक उपयोगकर्ताओं को पुनर्प्राप्त करें क्या बाहरी वेबसाइट पर ऐसे बटन पर क्लिक करने वाले फेसबुक उपयोगकर्ताओं की सूची पुनर्प्राप्त करने का कोई तरीका है?ओपन ग्राफ

  • उदा। example.com है जो के माध्यम से fbUser1 (using OG meta tags) से संबंधित है।
  • कहीं उदाहरण.com पर कई एक्सएफबीएल बटन जैसे पृष्ठ हैं, प्रत्येक example.com पर एक और विशिष्ट यूआरएल को इंगित करता है, उदाहरण के लिए example.com/xyz, example.com/abc आदि

क्या मैं प्राप्त करना चाहते हैं उन है कि example.com/xyz पसंद आया की और जो लोग इसे पसंद की सूची है example.com/abc

मेरे सहज ज्ञान युक्त दृष्टिकोण graph.facebook.com/123456789/likes को देखने के लिए होगा (जहां संख्या डोमेन अमेरिकन प्लान अंतर्दृष्टि से लिया की आईडी है), लेकिन यह हमेशा एक खाली डाटासेट देता है:

{ 
    "data": [ 

    ] 
} 

मैं भी https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=APPID&client_secret=APPSECRET (जहां APPID और APPSECRET एक अमेरिकन प्लान अनुप्रयोग है कि निशान है से लिया जाता है से एक OAuth पहुंच टोकन प्राप्त करने की कोशिश की है ओजी मेटा टैग का उपयोग कर डोमेन के मालिक के रूप में एड), लेकिन इससे कोई फर्क नहीं पड़ता।

मुझे गैर-ओपनग्राफ (यानी जेएस एसडीके, एफक्यूएल इत्यादि) समाधान में रुचि भी होगी।

संपादित: निम्नलिखित कोड (WideBlade 'नीचे रों answer के अनुसार) का उपयोग करना अब भी मुझे पसंद के एक खाली सूची देता है (दूसरी क्वेरी कभी नहीं देता है):

var objectsQuery = "select id from object_url where url in ('http://example.com/xyz', 'http://example.com/abc', 'http://example.com/123')"; 
var likesQuery = "select object_id from like where object_id = {0}"; 

FB.Data.query(objectsQuery).wait(function (objectRows) { 
    console.log(objectRows); 

    FB.Array.forEach(objectRows, function (objectRow) { 
     FB.Data.query(likesQuery, objectRow.object_id).wait(function (likeRows) { 
      console.log(likeRows); 
     }) 
    }); 
}); 

उत्तर

2

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

इस पृष्ठ पर अस्वीकरण देखें https://developers.facebook.com/docs/reference/fql/like/

5

FQL चाल करना चाहिए।

$facebook->api_client->fql_query('SELECT user_id FROM like WHERE object_id="OBJECTID"');

Here is the link.

Some general info about FQL.

FQL जावास्क्रिप्ट SDK का उपयोग शुरू किया जाता है, in this way.

आप पोस्ट कर सकते हैं कुछ नमूना कोड-मैं कोशिश करते हैं और कुछ और विशेष मदद दे सकते हैं।

एक नोट बनाया जाना चाहिए-एक बार जब आप उपयोगकर्ता आईडी प्राप्त कर लेते हैं, तो आप केवल नाम पूछ सकते हैं और उन्हें एक सूची में ले सकते हैं।

संपादित करें: किसी ऑब्जेक्ट का URL प्राप्त करने के लिए आपको query this table using fql होना चाहिए।

+0

लवली, धन्यवाद। मैं बाहरी यूआरएल जैसे example.com/xyz के लिए ऑब्जेक्टिड कैसे प्राप्त करूं? –

+1

जैसे ही उत्तर प्रश्न का उत्तर देता है, मैं स्वीकार करूंगा। –

+0

फिर से धन्यवाद, स्पष्ट रूप से सही के रूप में स्वीकार किया। हालांकि जेएस एसडीके और एफक्यूएल का उपयोग करना पसंद की सूची अभी भी खाली है। नमूना के लिए संपादित देखें। –

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