그래프 API를 사용하여 주식 수를 얻는 방법


136

PHP SDK와 더 이상 사용되지 않는 rest API를 사용하여 URL의 공유 수를 얻을 수 있지만 그래프 API를 사용하여 URL의 공유 수를 얻는 방법을 찾지 못했습니다.

알아낼 방법이 있습니까?


여기에서 귀하를위한 솔루션을 얻으십시오 stackoverflow.com/questions/6137414/…
Sakata Gintoki

여기에서 답변을 확인하십시오 : stackoverflow.com/questions/9728279/…
Atif Tariq

2016 년 8 월 8 일 (더 이상 사용되지 않음) 답변 : stackoverflow.com/a/39379251/4607317
budi

답변:


270

통계를 얻는 API 링크 목록은 다음과 같습니다.

페이스 북 : https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json
Reddit : http://buttons.reddit.com/button_info.json?url=%%URL% %
링크드 인 : http://www.linkedin.com/countserv/count/share?url=%%URL%%&format=json
디그 : http://widgets.digg.com/buttons/count?url=%%URL %%
맛있는 : http://feeds.delicious.com/v2/json/urlinfo/data?url=%%URL%%
StumbleUpon : http://www.stumbleupon.com/services/1.01/badge.getinfo?url = %% URL %%
Pinterest : http://widgets.pinterest.com/v1/urls/count.json?source=6&url=%%URL%%

편집 : Twitter 엔드 포인트가 사용되지 않으므로 제거되었습니다.

편집 : Facebook REST API는 더 이상 사용되지 않습니다



2
각 요청에 대한 API 호출 한도는 얼마입니까?
StErMi

8
안녕 ! 이 목록에 감사드립니다. api.facebook.com/method/links.getStats API 엔드 포인트에 대한 문서를 찾을 수 없습니다 . 실제로 작동하지만 곧 폐기 될 API 버전의 일부가 아닌지 확인하고 싶습니다. 또한 이것이 인증없이 사용 가능하다는 것은 이상합니다 ... 페이스 북 문서에 이것에 대한 것이 있습니까? 그것은 그래프 API의 일부가 아닙니다 ...
Żabojad

10
Facebook 링크가 더 이상 작동하지 않습니다. graph.facebook.com/?id=http://www.google.com
MarkOverride 3

8
@MarkOverOver 더 최적화 된 버전 (더 적은 대역폭)은 graph.facebook.com/?fields=share&id=http://www.google.com 입니다. 문제는 이러한 새로운 엔드 포인트가 속도가 매우 제한되어 있으며, 이러한 한계에 부딪히지 않고 프로덕션 환경에서 사용하기가 매우 어렵다는 것입니다. 다른 방법이 있다면 알려주십시오.
njy

200

업데이트-'15 년 4 월 :

Like 버튼에서 사용 가능한 개수를 얻으려면 다음과 같이 객체 의 engagement필드를 사용해야합니다 og_object.

https://graph.facebook.com/v2.2/?id=http://www.MY-LINK.com&fields=og_object{engagement}&access_token=<access_token>

결과:

{
  "og_object": {
    "engagement": {
      "count": 93, 
      "social_sentence": "93 people like this."
    }, 
    "id": "801998203216179"
  }, 
  "id": "http://techcrunch.com/2015/04/06/they-should-have-announced-at-420/"
}

Graph API를 사용하면 가능합니다.

http://graph.facebook.com/?id=YOUR_URL

같은 :

http://graph.facebook.com/?id=http://www.google.com

돌아올 것이다 :

{
   "id": "http://www.google.com",
   "shares": 1163912
}

업데이트 : 위는 공유 수 를 얻는 방법에 대한 답변 입니다. 이 숫자는 Like 버튼 에 표시되는 숫자 같지 않습니다. 해당 숫자는 다음의 합이므로

  • 이 URL의 좋아요 수
  • 이 URL의 공유 수 (Facebook으로의 링크 복사 / 붙여 넣기 포함)
  • 이 URL에 대한 Facebook 스토리의 좋아요 및 댓글 수
  • 이 URL을 첨부 파일로 포함하는받은 편지함 메시지 수입니다.

따라서 fql끝점 ( link_stat테이블)을 통해 Graph API를 사용하여 Like Button 번호를 얻을 수 있습니다 .

https://graph.facebook.com/fql?q=SELECT url, normalized_url, share_count, like_count, comment_count, total_count,commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url='http://www.google.com'

total_count 좋아요 버튼에 표시되는 숫자입니다.


특정 개체의 공유 수를 얻지 못했습니다. 나는 그들이 적어도 하나의 몫을 가져야한다는 것을 안다.
Jan Deinhard

1
@ 페어, 예 때로는 숫자가 정확하지 않으며 약간 혼란 스럽습니다. 다른 답변에서 제안한 fql 테이블을 사용할 수도 있지만 여전히 ... 수도 맞지 않습니다!
ifaour

일부 사이트를 공유 할 수 있습니까?
Aziz

@ 아지즈, 무슨 뜻이야?
ifaour

3
V2.6의 문서가 당신이 얻을하지 않습니다 share_count, like_count그리고 comment_count, 그것은 보인다 fql과 REST API는 여전히 최고의 옵션입니다 ... 하지만 모두 fql와 REST API는 더 이상 2016년 8월 7일 후 사용할 수 있습니다! 어떤 제안?
Daniel García Baena

21

그래프 API를 사용해서는 안됩니다. 어느 쪽이든 전화하면 :

또는

둘 다 반환합니다 :

{
  "id": "http://www.apple.com",
  "shares": 1146997
}

그러나 표시된 숫자는 다음의 합입니다 .

  • 이 URL의 좋아요 수
  • 이 URL의 공유 수 (Facebook으로의 링크 복사 / 붙여 넣기 포함)
  • 이 URL에 대한 Facebook의 스토리에 대한 좋아요 및 댓글 수
  • 이 URL을 첨부 파일로 포함하는받은 편지함 메시지 수

따라서 FQL을 사용해야합니다.
이 답변보기 : 기사에서 페이스 북 좋아요, 공유, 댓글 수를 가져 오는 방법


당신은 절대적으로 맞습니다, total_shares에 의해 의견 + likes + share의 합계입니다. 그러나 내가 요청한 페이지는 shows_i_have = total_shares + 좋아함을 보여줍니다
Aziz

14

2016 년 8 월 7 일 이후에도 다음과 같이 전화를 걸 수 있습니다.

http://graph.facebook.com/?id=https://www.apple.com/

그러나 응답 형식은 다를 것입니다.

{
  "id": "http://www.apple.com",
  "shares": 1146997
}

그러나 대신에

{
   "og_object": {
      "id": "388265801869",
      "description": "Get a first look at iPhone 7, Apple Watch Series 2, and the new AirPods \u2014 the future of wireless headphones. Visit the site to learn more.",
      "title": "Apple",
      "type": "website",
      "updated_time": "2016-09-20T08:21:03+0000"
   },
   "share": {
      "comment_count": 1,
      "share_count": 1094227
   },
   "id": "https://www.apple.com"
}

따라서 다음과 같이 응답을 처리해야합니다.

reponse_variable.share.share_count

1
그러나 share_count 값은 좋아요 + 공유의 합계를 참조하기 때문에 오도의 소지가 있습니다
Alon Bilu

당신이 옳은 것 같아요, 내 대답은 API 호출 방법에 대한 업데이트 일뿐입니다. @freedev가 주식 수에 대해 말한 것은 여전히 ​​옳을 것이라고 생각합니다.
Giorgio Tempesta

8

내가 유용하고 위의 하나의 링크에서 찾은 것은 link_stat 테이블을보고 하나의 링크의 좋아요, 총계, 공유 및 클릭 수를 요청하는 FQL 쿼리입니다.

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

다음과 같이 출력됩니다 :

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}

2
2016 년 8 월 8 일부터 FQL을 더 이상 사용할 수 없으며 쿼리 할 수 ​​없습니다. 앱을 마이그레이션하려면 API 업그레이드 도구를 사용하여 대신 수행 할 수있는 그래프 API 호출을 확인하십시오.
Nguyen Minh Binh

7

이 요점을 확인하십시오 . 다음 서비스의 공유 횟수를 얻는 방법에 대한 스 니펫이 있습니다.

  • 페이스 북
  • 트위터
  • 구글 플러스
  • Pinterest
  • 링크드 인
  • 우연히

이것은 몇 살입니다. 각 서비스가 얼마나 자주 API를 업데이트하는지에 따라 매우 정확하지는 않습니다.
subvertallchris

4

페이스 북과 같은 버튼은 API 가하지 않는 두 가지 작업을 수행합니다. 둘을 비교할 때 혼동을 일으킬 수 있습니다.

  1. 좋아요 버튼에 사용하는 URL에 리디렉션이있는 경우 버튼에는 실제로 리디렉션 URL의 개수와 사용중인 URL의 개수가 표시됩니다.

  2. 페이지에 og : url 속성이있는 경우 like 버튼은 브라우저의 URL 대신 해당 URL의 좋아요를 표시합니다.

이것이 누군가를 돕기를 바랍니다.



1

FQL을 사용할 때 문제를 발견했지만 여전히 문제가 있습니다. 문서에 표시된 숫자는 다음과 같은 합계입니다.

  • 이 URL의 좋아요 수
  • 이 URL의 공유 수 (Facebook으로의 링크 복사 / 붙여 넣기 포함)
  • 이 URL에 대한 Facebook의 스토리에 대한 좋아요 및 댓글 수
  • 이 URL을 첨부 파일로 포함하는받은 편지함 메시지 수

그러나 내 웹 사이트에서 표시된 숫자는이 4 카운트 + 주식 수의 합입니다 (다시)


1

FQL을 사용하면 다음과 같이 할 수 있습니다.

http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'

1

그것에 대한 루비 보석이 있습니다 -SocialShares

현재 다음 소셜 네트워크를 지원합니다.

  • 페이스 북
  • 트위터
  • 구글 플러스
  • 레딧
  • 링크드 인
  • 귀찮은
  • 비틀 거리다
  • vkontakte
  • mail.ru
  • odnoklassniki

용법:

:000 > url = 'http://www.apple.com/'
  => "http://www.apple.com/"
:000 > SocialShares.facebook url
  => 394927
:000 > SocialShares.google url
  => 28289
:000 > SocialShares.twitter url
  => 1164675
:000 > SocialShares.all url
  => {:vkontakte=>44, :facebook=>399027, :google=>28346, :twitter=>1836, :mail_ru=>37, :odnoklassniki=>1, :reddit=>2361, :linkedin=>nil, :pinterest=>21011, :stumbleupon=>43035}
:000 > SocialShares.selected url, %w(facebook google linkedin)
  => {:facebook=>394927, :google=>28289, :linkedin=>nil}
:000 > SocialShares.total url, %w(facebook google)
  => 423216
:000 > SocialShares.has_any? url, %w(twitter linkedin)
  => true

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.