주어진 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 일부터 더 이상 사용되지 않습니다.
또한 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 호출을 만들고 '참여'필드를 선택할 수 있습니다. 아래는 그래프 탐색기의 예제 링크입니다.
2016 년 8 월 8 일부터 FQL은 더 이상 사용되지 않습니다.
2017 년 10 월 업데이트 (v2.10) :
다음은 지정된 URL의 좋아요 및 공유 수를 가져 오는 더 이상 사용되지 않는 방법입니다 (액세스 토큰 필요 없음).
결과:
{
"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을 입력 할 수 있습니다.
최신 2.1 Graph API의 경우 imdb.com에 대한 좋아요를 얻는 예는 다음과 같습니다.
그리고 좋아요를 얻으십시오
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
어떻게 든 문서화되지 않았습니다 (적어도이 답변을 제출하는 순간 ...). 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:
{
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
'developer tip' 카테고리의 다른 글
Linux에서 MongoDB를 가져와 원격 연결 수신 (0) | 2020.12.27 |
---|---|
.NET의 문자열 끝에서 문자열 자르기-이것이 누락 된 이유는 무엇입니까? (0) | 2020.12.27 |
내 프로젝트 경로를 얻는 방법? (0) | 2020.12.27 |
AngularJS에서 라디오 버튼의 기본값을 설정하는 방법은 무엇입니까? (0) | 2020.12.27 |
Ubuntu에서 SmartGit 설치 및 사용 (0) | 2020.12.26 |