developer tip

주어진 URL에 대한 Facebook 좋아요 / 공유 수 얻기

copycodes 2020. 12. 27. 11:17
반응형

주어진 URL에 대한 Facebook 좋아요 / 공유 수 얻기


주어진 URL에 대한 좋아요 / 공유 횟수를 얻기 위해 Facebook API를 사용하고 있습니다. 이상한 점은 결과를 반환하는 데 매우 일관성이없는 것 같습니다. 예를 들어이 페이지는 결과를 반환합니다.

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이 위의 API 요청에 배치 한 URL입니다. 그러나 API는 좋아요 또는 공유 수에 대한 카운트 정보로 응답하지 않습니다.

API가 일부 URL에 대해 응답하지만 다른 URL에는 응답하지 않는 이유에 대한 단서가 있습니까?


업데이트 : 이 솔루션은 더 이상 유효하지 않습니다. FQL은 2016 년 8 월 7 일부터 더 이상 사용되지 않습니다.


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 은 '공유 수', '좋아요 수'및 '댓글 수와 같은 모든 데이터를 표시합니다. '및이 모든 것의 합계.

필요에 따라 URL (예 : http://www.techlila.com )을 변경합니다 .

이것은 올바른 URL이며 올바른 결과를 얻고 있습니다.

편집 (2017 년 5 월) : v2.9부터 ID가 URL 인 그래프 API 호출을 만들고 '참여'필드를 선택할 수 있습니다. 아래는 그래프 탐색기의 예제 링크입니다.

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


2016 년 8 월 8 일부터 FQL은 더 이상 사용되지 않습니다.


2017 년 10 월 업데이트 (v2.10) :

다음은 지정된 URL의 좋아요 및 공유 수를 가져 오는 더 이상 사용되지 않는 방법입니다 (액세스 토큰 필요 없음).

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


개방형 그래프 API를 사용하십시오. 다음은 "코카콜라"가 얼마나 좋아하는지 쿼리하는 라이브 예제입니다.

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

요약하면 다음과 같습니다.

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

AJAX GET에서 할 수있는 것

결과는 다음과 같습니다.

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

이후 모든 이전 답변은 더 이상 사용되지 않습니다. 이 방법은 2016 년 8 월부터 작동합니다.


URL의 좋아요 수를 얻으려면 :

GET 요청 : https://graph.facebook.com/[url]/access_token=[access_token]

그런 다음 반환 된 JSON 개체에서 sharing-> share_count를 가져옵니다.


Facebook 페이지의 팬 수 :

GET 요청 : https://graph.facebook.com/[url]/?fields=fan_count&access_token=[access_token]

그런 다음 반환 된 JSON 개체에서 'fan_count'필드를 가져옵니다.


이를 테스트하고 Graph API Explorer를 사용하여 액세스 토큰을 얻을 수 있습니다.


Facebook Graph는 굉장합니다. 아래와 같이하십시오. perl.org URL을 입력했습니다. 여기에 모든 URL을 입력 할 수 있습니다.

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


최신 2.1 Graph API의 경우 imdb.com에 대한 좋아요를 얻는 예는 다음과 같습니다.

이것을 사용하여 ID 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

문서

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/


Facebook 공유 / 좋아요 수를 다음과 같이 표시 할 수 있습니다. (테스트 및 확인 됨)

$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];

그래프 API v2.1의 경우 1 회 호출만으로 좋아요 수를 얻을 수 있으므로 페이징을 거치지 않아도됩니다.

예를 들어 http://www.imdb.com 의 좋아요 수를 얻으려면

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

그래프 API 탐색기 https://developers.facebook.com/tools/explorer/?method=GET&path=414652589771%2Flikes%3Fsummary%3D1&version=v2.1

어떻게 든 문서화되지 않았습니다 (적어도이 답변을 제출하는 순간 ...). https://stackoverflow.com/a/18198957/1822624 에서 답을 찾았습니다.


use below URL and replace myurl with your post url and you will get all the things

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

but keep in mind it will give you response in XML format only

Example :

<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>

I see this nice tutorial on how to get the like count from facebook using 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;
}

here is a sample code.. I don't know how to paste the code with correct format in here, so just kindly visit this link for better view of the code.

Creating a Custom Facebook like Counter


You need the extended permission "read_stream", then you need to call the Facebook API endpoint, and add likes,shares to your fields.

This call

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

will return a data array like this

{
   "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"
    }
   ]
}

Your question is quite old and Facebook has depreciated FQL now but what you want can still be done using this utility: Facebook Analytics. However you will find that if you want details about who is liking or commenting it will take a long time to get. This is because Facebook only gives a very small chunk of data at a time and a lot of paging is required in order to get everything.


I don't think Facebook's Open Graph Object i.e. "og_object" provides anything more than comment_count & share_count for a URL. Try this; replace $YOUR_URL with the URL and $ACCESS_TOKEN with your access token in the below link https://graph.facebook.com/v2.5/$YOUR_URL?access_token=$ACCESS_TOKEN

For example:

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"
}

Also, if you try to get likes, you would get the following error 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"
  }
}

ReferenceURL : https://stackoverflow.com/questions/9728279/getting-the-facebook-like-share-count-for-a-given-url

반응형