2011-02-02 3 views
13

외부 웹 사이트에서 같은 버튼을 클릭 한 Facebook 사용자 목록을 검색하는 방법이 있습니까?오픈 그래프를 통해 URL/웹 페이지를 좋아하는 페이 스북 사용자 검색

  • 예 : 도메인 example.comFacebook Insights을 통해 fbUser1 (using OG meta tags)에 속하는 것으로 확인되었습니다.
  • 어딘가에 example.com은 XFBL과 같은 여러 개의 버튼이있는 페이지가 있습니다. 각 버튼은 example.com에있는 더 구체적인 URL을 가리 킵니다. example.com/xyz, example.com/abc 등 내가 좀하고 싶습니다 것은 example.com/xyz을 좋아하는 사용자와 좋아하는 사람들의 목록입니다

example.com/abc.

내 직관적 인 접근 방식은 graph.facebook.com/123456789/likes 보는 것 (수 FB 통찰력에서 가져온 도메인의 ID 임), 그러나 이것은 항상 빈 데이터 집합을 반환합니다 :

{ 
    "data": [ 

    ] 
} 

는 또한 APPIDAPPSECRET 마크가있는 FB 응용 프로그램에서 가져 https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=APPID&client_secret=APPSECRET (에서 OAuth 액세스 토큰을 얻는 시도했습니다 OG 메타 태그를 사용하여 도메인을 소유하고 있음).하지만 차이는 없습니다.

비 OpenGraph (JS SDK, FQL 등) 솔루션에도 관심이 있습니다.

편집 : (WideBladeanswer 아래에 따라) 다음 코드를 사용하여 여전히 나에게 좋아하는의 빈 목록을 제공 (두 번째 쿼리는 결코 반환하지 않습니다) : 트릭을 할해야

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); 
     }) 
    }); 
}); 

답변

5

FQL.

Some general info about FQL.

FQL는 자바 스크립트 SDK를 사용하여 시작됩니다 Here is the link.

$facebook->api_client->fql_query('SELECT user_id FROM like WHERE object_id="OBJECTID"');, in this way.

당신이 게시 할 경우 몇 가지 예제 코드-I 시도하고 좀 더 구체적인 도움을 줄 수 있습니다.

사용자 ID를 얻은 후에는 이름을 쿼리하고 목록으로 가져올 수 있습니다.

편집 : 개체의 URL을 가져 오려면 query this table using fql이어야합니다.

+0

사랑스러운, 덕분에 면책 조항을 참조하십시오. example.com/xyz와 같은 외부 URL에 대해 OBJECTID를 얻으려면 어떻게해야합니까? –

+1

답변이 질문에 답하자마자 동의하겠습니다. –

+0

다시 한 번 고맙게 생각합니다. 그러나 JS SDK 및 FQL을 사용하여 좋아요 목록은 여전히 ​​비어 있습니다. 샘플 용 편집을 참조하십시오. –