2012-03-15 28 views
55

के लिए फेसबुक की तरह/शेयर गिनती प्राप्त करना मैं दिए गए यूआरएल के लिए शेयर/शेयर गिनती पाने के लिए फेसबुक एपीआई का उपयोग कर रहा हूं। अजीब चीज यह है कि यह परिणाम लौटने में काफी असंगत प्रतीत होता है। उदाहरण के लिए, इस पेज रिटर्न परिणाम:किसी दिए गए यूआरएल

 
https://api.facebook.com/method/fql.query?query=select%20total_count,like_count,comment_count,share_count,click_count%20from%20link_stat%20where%20url='http://www.groupon.com/deals/seattlehelitourscom-by-classic-helicopter-corp'&format=json 

जबकि, यह एक नहीं करता है:

 
https://api.facebook.com/method/fql.query?query=select%20total_count,like_count,comment_count,share_count,click_count%20from%20link_stat%20where%20url='http://www.livingsocial.com/deals/278194-sunset-kayaking-hot-chowder'&format=json 

दूसरे पृष्ठ स्पष्ट रूप से एक हिस्सा उस पर भरोसा है, और जब मैं पृष्ठ के HTML का निरीक्षण, जिस URL को साझा करने के लिए उपयोग किया जा रहा है वह वह है जिसे मैंने उपरोक्त एपीआई अनुरोध में रखा है। हालांकि, एपीआई किसी भी तरह की पसंद या शेयरों के लिए किसी भी गिनती जानकारी के साथ प्रतिक्रिया नहीं देता है।

एपीआई कुछ यूआरएल के लिए क्यों प्रतिक्रिया दे रहा है लेकिन दूसरों के लिए क्यों नहीं?

+1

इसकी लगता है बाकी एपीआई पदावनत किया गया है। इसके बारे में कोई अनुमान है? – Elangovan

उत्तर

48

अद्यतन:यह समाधान अब मान्य नहीं है। FQLs 7 वीं अगस्त के बाद से पदावनत कर रहे हैं, 2016


https://api.facebook.com/method/fql.query?query=select%20%20like_count%20from%20link_stat%20where%20url=%22http://www.techlila.com%22

इसके अलावा http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.techlila.com आप की तरह 'गणना की तरह' 'शेयर गणना', और 'टिप्पणी गणना' और इन सभी की कुल सभी डेटा को दिखाएगा ।

अपनी आवश्यकता के अनुसार यूआरएल (यानी http://www.techlila.com) बदलें।

यह सही यूआरएल है, मुझे सही परिणाम मिल रहे हैं।

संपादित करें (मई 2017): v2.9 के रूप में आप एक ग्राफ एपीआई कॉल कर सकते हैं जहां आईडी यूआरएल है और 'सगाई' फ़ील्ड का चयन करें, नीचे ग्राफ एक्सप्लोरर के उदाहरण के साथ एक लिंक है।

https://developers.facebook.com/tools/explorer/?method=GET&path=%3Fid%3Dhttp%3A%2F%2Fcomunidade.edp.pt%26fields%3Dengagement&version=v2.9

+10

जेएसओएन प्रारूप में एक ही परिणाम प्राप्त करना संभव है: https://graph.facebook.com/fql?q=select%20%20like_count%20from%20link_stat%20where%20url=%22http://yoast.com%22 – Vladimir

+1

@Vladimir क्या आधिकारिक एपीआई का यूआरएल हिस्सा है, या इसे हटा दिया जाएगा? ऐसा लगता है कि इसका उपयोग करने के लिए आपको एपीआई कुंजी की आवश्यकता नहीं है .. –

+2

हां, यह आधिकारिक एपीआई का हिस्सा है। यह अनुरोध फेसबुक क्वेरी भाषा (एफक्यूएल) का उपयोग करता है http://developers.facebook.com/docs/technical-guides/fql/ – Vladimir

1

मैं कैसे फेसबुक से की तरह गिनती PHP का उपयोग पाने के लिए पर यह अच्छा ट्यूटोरियल देखें।

public static function get_the_fb_like($url = ''){ 
$pageURL = 'http://nextopics.com'; 

$url = ($url == '') ? $pageURL : $url; // setting a value in $url variable 

$params = 'select comment_count, share_count, like_count from link_stat where url = "'.$url.'"'; 
$component = urlencode($params); 
$url = 'http://graph.facebook.com/fql?q='.$component; 
$fbLIkeAndSahre = json_decode($this->file_get_content_curl($url)); 
$getFbStatus = $fbLIkeAndSahre->data['0']; 
return $getFbStatus->like_count; 
} 

यहाँ एक नमूना कोड है .. मैं, कैसे यहाँ में सही प्रारूप के साथ कोड पेस्ट करना नहीं आता तो बस कृपया कोड के बेहतर दृश्य के लिए इस लिंक पर जाएं।

Creating a Custom Facebook like Counter

17

उपयोग खुला ग्राफ एपीआई। यहां एक लाइव उदाहरण है जो पूछताछ करता है कि "कोका कोला" कितने पसंद करते हैं।

https://developers.facebook.com/tools/explorer/?method=GET&path=cocacola%3Ffields%3Dlikes

कौन सा करने पर निर्भर करता:

https://graph.facebook.com/cocacola?fields=likes

जो तुम एक AJAX में कर सकता है

प्राप्त परिणाम है:

{ 
    "likes": 71717854, 
    "id": "40796308305" 
} 
+2

इस संसाधन का अनुरोध करने के लिए एक एक्सेस टोकन आवश्यक है। –

+0

पहले लिंक का उपयोग करें और v2.6 के बाद से टोकन –

+0

एक्सेस प्राप्त करें, यह पसंद की संख्या वापस नहीं करता है लेकिन पसंद नाम और आईडी पेजिनेशन के साथ नहीं करता है। – e666

1

आप बढ़ाया जरूरत अनुमति "read_stream", टी मुर्गी आपको फेसबुक एपीआई एंडपॉइंट को कॉल करने की आवश्यकता है, और अपने fields पर likes,shares जोड़ें।

इस कॉल

https://developers.facebook.com/tools/explorer?method=GET&path=me/feed?fields=likes,shares 

इस

{ 
    "data": [ 
    { 
    "likes": { 
     "data": [ 
       { 
        "name": "name of user who liked status ", 
        "id": "id of user who liked status " 
       } 
       ], 
     "count": number of likes 
    }, 
    "shares": { 
     "count": number of shares 
    }, 
    "id": "post id", 
    "created_time": "post creation time" 
    } 
    ] 
} 
7

फेसबुक ग्राफ़ की तरह एक डेटा सरणी वापस आ जाएगी भयानक है। बस नीचे की तरह कुछ करो। मैंने perl.org यूआरएल प्रवेश किया है, आप वहां कोई यूआरएल डाल सकते हैं।

https://graph.facebook.com/fql?q=SELECT%20like_count,%20total_count,%20share_count,%20click_count,%20comment_count%20FROM%20link_stat%20WHERE%20url%20=%20%27http://perl.org%27

+1

यह सबसे अच्छा जवाब है, सीधे और बिंदु पर। एंडपॉइंट एक साधारण JSON देता है जिसे आप कहीं से भी बहुत अधिक पार्स कर सकते हैं और आपको प्रमाणित करने की भी आवश्यकता नहीं है। उत्तम! – sergserg

+1

यह अब और काम नहीं कर रहा है ('(# 12) fql संस्करण v2.1 और उच्चतर के लिए बहिष्कृत है) – chteuchteu

7

नवीनतम 2.1 ग्राफ़ एपीआई के लिए, imdb.com के लिए पसंद प्राप्त करने के लिए एक उदाहरण

हो जाएगा आईडी https://developers.facebook.com/tools/explorer/?method=GET&path=%3Fid%3Dhttp%253A%252F%252Fwww.imdb.com%3Ffields%3Dlikes&version=v2.1

और फिर पसंद प्राप्त करने के लिए इस का उपयोग करते हुए

https://developers.facebook.com/tools/explorer/?method=GET&path=414652589771%2Flikes&version=v2.1

Document

URL /?id={url} 

Represents an external URL as it relates to the Facebook social graph - shares and comments from the URL on Facebook, and any Open Graph objects associated with the URL. 

संदर्भ http://harshtechtalk.com/how-get-likes-count-posts-comments-facebook-graph-api/

+1

यह पसंद की संख्या वापस नहीं करता है लेकिन पसंद नाम और आईडी पेजिनेशन के साथ वापस नहीं करता है। – e666

+0

पसंद की कुल संख्या रखने के लिए आपको 'सारांश = सत्य' जोड़ने की आवश्यकता है। फेसबुक डॉक पर लंबी खोज के बाद मिला: https://developers.facebook.com/docs/graph-api/reference/v2.7/object/likes – e666

3

ग्राफ एपीआई v2.1 के लिए, आप की तरह 1 कॉल का उपयोग केवल और इसलिए, कोई जरूरत पेजिंग के माध्यम से जाना संख्या प्राप्त कर सकते हैं।

उदाहरण के लिए, http://www.imdb.com

https://graph.facebook.com/414652589771/likes?summary=1

ग्राफ़ एपीआई एक्सप्लोरर https://developers.facebook.com/tools/explorer/?method=GET&path=414652589771%2Flikes%3Fsummary%3D1&version=v2.1

यह किसी भी तरह से प्रलेखित नहीं है की पसंद की संख्या प्राप्त करने (कम से कम इस समय मैं इस जवाब प्रस्तुत .. ।)। मैं URL नीचे दी गई https://stackoverflow.com/a/18198957/1822624

2

उपयोग में जवाब मिल गया है और अपनी पोस्ट यूआरएल साथ myurl की जगह है और आप सब बातों

http://api.facebook.com/restserver.php?method=links.getStats&urls=myurl

मिलता है, लेकिन यह आप XML स्वरूप केवल में प्रतिक्रिया दे देंगे ध्यान में रखना होगा

उदाहरण:

<share_count>1</share_count> 
<like_count>8</like_count> 
<comment_count>0</comment_count> 
<total_count>9</total_count> 
<click_count>0</click_count> 
<comments_fbid>**************</comments_fbid> 
<commentsbox_count>0</commentsbox_count> 
+1

इसे जेसन प्रारूप में प्राप्त करने के लिए यूआरएल पैरामीटर 'और प्रारूप = जेसन' जोड़ें। – Dave

0

मुझे नहीं लगता कि फेसबुक के ओपन Gra पीएच ऑब्जेक्ट i.e. "og_object" URL के लिए comment_count & share_count से कुछ भी प्रदान करता है। इसे आजमाएं; नीचे दिए गए लिंक https://graph.facebook.com/v2.5/ $ YOUR_URL में अपने पहुंच टोकन के साथ URL और $ ACCESS_TOKEN के साथ $ YOUR_URL को प्रतिस्थापित करें?ACCESS_TOKEN = $ ACCESS_TOKEN

उदाहरण के लिए:

https://graph.facebook.com/v2.5/http://espn.go.com/nfl/story/_/id/14424066/handing-holiday-gifts-all-32-nfl-teams-nfl?access_token= $ ACCESS_TOKEN

{ 
    og_object: { 
    id: "956517601094822", 
    description: "Naughty or nice, every NFL team deserves something for Christmas. So in lieu of Santa Claus, Bill Barnwell is here to distribute some gifts.", 
    title: "Barnwell: Handing out holiday gifts to all 32 teams", 
    type: "article", 
    updated_time: "2015-12-23T17:20:55+0000", 
    url: "http://espn.go.com/nfl/story/_/id/14424066" 
    }, 
    share: { 
    comment_count: 0, 
    share_count: 354 
    }, 
    id: "http://espn.go.com/nfl/story/_/id/14424066/handing-holiday-gifts-all-32-nfl-teams-nfl" 
} 

इसके अलावा, अगर आप पसंद प्राप्त करने की कोशिश, आप मिलेगा निम्न त्रुटि https://graph.facebook.com/http://rottentomatoes.com?fields=likes&summary=1&access_token= $ ACCESS_TOKEN

{ 
    error: { 
    message: "(#100) Tried accessing nonexisting field (likes) on node type (URL)", 
    type: "OAuthException", 
    code: 100, 
    fbtrace_id: "H+KksDn+mCf" 
    } 
} 
+0

'id = # {url} और फ़ील्ड = og_object {engagement}, साझा करें जो आप सहभागिता ऑब्जेक्ट से प्राप्त कर सकते हैं की संख्या https://developers.facebook.com/docs/graph-api/reference/v2 देखें। 5/यूआरएल/ – Mihai

+0

मुझे दीर्घकालिक एक्सेस-टोकन कैसे प्राप्त किया जा सकता है? – Werner

+0

@ एक्सेस टोकन वर्नर APP_ID | APP_SECRET है। इस https: // smashballoon में अंतिम चरण पर एक नज़र डालें।com/custom-facebook-feed/access-token/ – blueskin

4

आप फेसबुक शेयर/जैसा दिख सकते हैं इस तरह की गणना करें: (परीक्षण और सत्यापित)

$url = http://www.yourdomainname.com // You can use inner pages 

$rest_url = "http://api.facebook.com/restserver.php?format=json&method=links.getStats&urls=".urlencode($url); 

$json = json_decode(file_get_contents($rest_url),true); 


echo Facebook Shares = '.$json[0][share_count]; 

echo Facebook Likes = '.$json[0][like_count]; 

echo Facebook Comments = '.$json[0][comment_count]; 
+1

यह विधि अब बहिष्कृत है, अब – jetlej

+0

Jetlej काम नहीं कर सकती है क्या आप कृपया नई विधि या लिंक अपडेट कर सकते हैं? –

+0

अंततः इसे मिला :) http://stackoverflow.com/questions/29702192/request-to-get-total-count-of-facebook-page-likes-in-v2-3-api – jetlej

1

आपका प्रश्न काफी पुराना है और फेसबुक अब FQL मूल्यह्रास हुआ है, लेकिन क्या आप चाहते हैं अभी भी इस सुविधा का उपयोग किया जा सकता है: Facebook Analytics। हालांकि आप पाएंगे कि अगर आप इस बारे में ब्योरा चाहते हैं कि कौन पसंद कर रहा है या टिप्पणी कर रहा है तो इसे पाने में काफी समय लगेगा। ऐसा इसलिए है क्योंकि फेसबुक एक समय में डेटा का एक बहुत छोटा हिस्सा देता है और सब कुछ पाने के लिए बहुत सारे पेजिंग की आवश्यकता होती है।

10

सभी पिछले उत्तरों को तब से हटा दिया गया है। इस विधि अगस्त 2016 के रूप में काम करता है:


किसी भी यूआरएल के जैसे गिनती पाने के लिए:

GET अनुरोध: https://graph.facebook.com/[url]/access_token=[access_token]

फिर साझाकरण-> लौटे JSON से SHARE_COUNT हड़पने वस्तु।


फैन एक फेसबुक पेज के लिए गिनती:

GET अनुरोध: https://graph.facebook.com/[url]/?fields=fan_count&access_token=[access_token]

फिर लौटे JSON ऑब्जेक्ट से 'fan_count' फ़ील्ड हड़पने।


आप Graph API Explorer

+3

यूआरएल के लिए शेयर_count शेयरों की संख्या + पसंद की संख्या देता है। – e666

33

As of August 8th, 2016, FQLs are deprecated.


अद्यतन 10/2017 (v2 का उपयोग कर बाहर यह परीक्षण करने और अपने पहुंच टोकन प्राप्त कर सकते हैं।(कोई पहुँच टोकन के लिए आवश्यक

यहाँ एक गैर पदावनत तरह से किसी दिए गए यूआरएल की तरह और शेयर गिनती प्राप्त करने के लिए है): 10)

https://graph.facebook.com/?fields=og_object{likes.summary(total_count).limit(0)},share&id=https://www.stackoverflow.com


परिणाम:

{ 
    "og_object": { 
     "likes": { 
     "data": [ 

     ], 
     "summary": { 
      "total_count": 83 
     } 
     }, 
     "id": "10151023731873397" 
    }, 
    "share": { 
     "comment_count": 0, 
     "share_count": 2915 
    }, 
    "id": "https://www.stackoverflow.com" 
} 

JQuery उदाहरण:

$.get('https://graph.facebook.com/' 
    + '?fields=og_object{likes.summary(total_count).limit(0)},share&id=' 
    + url-goes-here, 
    function (data) { 
     if (data) { 
      var like_count = data.og_object.likes.summary.total_count; 
      var share_count = data.share.share_count; 
     } 
    }); 

संदर्भ:

https://developers.facebook.com/docs/graph-api/reference/url

+0

यदि शेयर काम नहीं करता है, तो "शेयर" के साथ प्रयास करें। मेरे लिए "शेयर" काम किया। हैप्पी कोडिंग :) –

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