2010-05-13 6 views
2

새로운 Facebook 그래프 API를 사용하기 위해 iPhone 앱을 업그레이드하려고합니다. 내가 찾을 수없는 한 가지는 내 앱에서 페이스 북에 연결된 현재 사용자가 내 페이스 북 페이지의 팬인지 확인하는 것입니다 (예 : 새로운 패러다임에서 사용자가 내 페이지를 좋아하는지 여부)Facebook Graph - 사용자가 내 페이지를 좋아합니까?

나머지 API에는 함수 isFan이 있지만 그래프에는 없습니다.

사용자가 좋아하는 항목을 모두 검색하고 그 중 하나가 내 페이지인지 여부를 검색 할 수 있지만 확실히 팬인지 아닌지 확인해야 할 때마다 수천 개의 레코드를 탐색하는 대신 쉬운 방법이 있어야합니다.

다른 사람이 이미 새 문서에서 그 작업을 수행 한 방법을 알고 있다면 나에게 알려 주시면 감사하겠습니다.

답변

-2

현재 '// likes'그래프 리소스 만 사용할 수 있습니다. 그것은 그렇게 나쁘지 않습니다. Facebook Dev docs 이전 pages.isFan 방법에 따라

https://graph.facebook.com/ngerakines/likes?access_token= 
+0

안녕 닉 - 그것은 내가 찾을 개체의 수백 또는 수천 물마루 갈 것을 나에게 정말 이상하다 :

나는 가능성이 청소기 방법을 발견했다 (하지만 테스트하지 않았습니다) 사용자가 주어진 페이지 id를 좋아하는지 여부. "좋아요"는 "me/likes? access_token = ... & id = 100000000"과 같이 찾고있는 것을 말할 수 있다면 좋을 것입니다. –

+1

나는 그들이 할 수있는 최소한이 당신을 허용한다는 것을 동의합니다. 응답 서버 쪽 필터링하기 –

+0

이 솔루션은 때로는 작동하지 않습니다. 페이스 북에 서버 문제가 발생하면 빈 목록이 반환됩니다. 이전 page.isFan은 이러한 경우에 올바르게 작동합니다. –

6

지금

주의 사항 그래프 API에 동등 물이있다 : 우리는 REST API를 비하하는 과정에서, 그리고에 해당하는 지원을 추가했습니다 이 메소드의 그래프 API. 이제/USER_ID/likes/PAGE_ID에 HTTP GET 요청을 보내 사용자가 팬 페이지인지 확인할 수 있습니다. 이 당으로

는 호출/{사용자 ID}// {PAGE ID가} 올바른 (user_likes) Permission 또는 사용자의 취향이 공개되어이 제공되는 필요한 정보를 반환합니다 좋아

0

무엇 당신은 찾고있는 연결 테이블입니다. 이 시도 :

FB.api 자바 스크립트 방식에서 실행할 수있는 FQL 문입니다
SELECT target_id, target_type 
FROM connection 
WHERE source_id = '_THE_USERS_FACEBOOK_ID_' 
    AND target_id = '_THE_ID_OF_THE_PAGE_OR_OBJECT_TO_LIKE_' 

, 또는 통해 백엔드 SDK를의.

+0

해당 테이블에 액세스하려면'read_stream' 확장 권한이 필요합니다. 현재 선호하는 해결책은/{user id}/likes/{page id} – Igy

0

페이스 북에서 페이지를 호출 할 때 $ _POST 변수를 구문 분석하면 가장 빠르고 간단한 해결책이 될 수 있습니다. signed_request는 페이지와 같은 사용자 또는 심지어 사용자가 귀하의 앱에 대한 액세스 권한을 부여하지 않은 경우에도 정보를 제공합니다 (아직).

+0

Sandor에 대한 GET 요청입니다. 질문에서 알 수 있듯이, iPhone 응용 프로그램에 대해 이야기하고 있습니다. 답변이 적절하다고 생각하십니까? –

0

폰갭의 플러그인으로 나는이 작업을 수행 할 수 있습니다 그들은 그렇지 않으면 특정 페이지의 ID, 0을 좋아하는 경우에

pageID = '6815841748'; 
FB.api('/me', function (a) { 
    user_id = a.id; 
    FB.api('/' + user_id + '/likes/'+pageID, function (a) { 
     alert(a.data.length); 
    }) 
}); 

그것은 1을 반환합니다. 내 질문에서 언급 한 바와 같이,

window.checkDoesLike = function() { 
    FB.api({ method: 'pages.isFan', page_id: '6815841748' }, function(resp) { 
    if (resp) { 
     alert('You like.'); 
    } else { 
    alert("You don't like."); 
    } 
    }); 
};