2011-07-05 2 views
0

현재 사이트에서 여러 콘텐츠를 볼 수 있기 전에 페이지와 같이 팬이 있어야하는 프로젝트에서 작업 중입니다.로그인 한 사용자가 JS API를 사용하여 Facebook API 페이지를 좋아하는지 확인하십시오.

웹 페이지는 Facebook의 앱이 아니며 Facebook 외부 페이지입니다. 우리는 PHP 나 백엔드 코드를 사용하지 않을 것이며, 우리는 FrontEnd만을 사용할 것입니다.

사용자가 로그인했는지 여부를 확인하기 위해 사용자 로그인 확인을 마쳤습니다.

사용자가 Google 페이지의 팬인지 확인해야합니다. 기능 페이지를 사용하려고합니다. 좋아요,하지만 어떻게 든 UID가 있어야합니다.

FQL 방식은 동일한 이유로 인해 불가능합니다.

또 다른 문제는 우리 페이지의 appID입니다. 나는 페이지에 appID를 얻는 방법을 구글에 시도하지만 검색은 쓸데없는 내용과 섞여있다.

UID를 가져 오거나 사용자가 UID가없는 ourpage를 좋아하는지 확인해야합니까? 당신은 사용자가 이전 페이지를 좋아했는지 알 수 없습니다 UID를 제공하지 않는 한

당신에게

+0

페이지가로드 될 때마다 정보를 가져 오거나 "like"이벤트를 잡아야합니까? – Niklas

+0

페이지가 한 번만로드되므로 걱정할 필요가 없습니다. 그것.하지만 언젠가 돌아 오는 사용자가 있기 때문에 사용자가 이미 페이지를 좋아하는지 여부를 확인해야합니다 ... – DucDigital

답변

0

당신은 당신의 페이스 북 iframe이 팬에서 백엔드 코드를 사용해야합니다 자바 스크립트를 통해이 변수를 사용할 수 없으므로 페이지에 대한 HTTP POST 요청에서 보낸 signed_request 변수를 검사해야하고 페이지가 가득 찼기 때문에 javacript에서 edge.create에 가입하지 않아도됩니다. 사용자가 좋아하는 버튼을 클릭하면 해당 이벤트가 실행되지 않습니다.

사용자가 귀하의 앱 (signed_request 변수를 검사 한 경우 nessary가 아닌)으로 사용자를 인증하도록 강요하는 경우 FQL 쿼리 또는 그래프 API 요청을 사용하고 사용자 ID를 지정하는 대신 "me"를 사용하면됩니다. select field from table where uid = me()

0

대단히 감사합니다. 그러나 사용자가 edge.create 이벤트에 가입하여 항목처럼 수행 할 때 알아 FB.Event.subscribe를 사용할 수 있습니다

FB.Event.subscribe('edge.create', function(response) { 
    alert("liked the item"); 
}); 

예 : http://jsfiddle.net/niklasvh/rmrE4/

+0

UID를 가져 오는 방법이 있습니까? – DucDigital

+0

@DucDigital 로그인 한 경우 그렇습니다. 이 경우'getLoginStatus'를 사용하여 UID를 얻을 수 있습니다 : htt p : //developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/ – Niklas

+0

스크립트에서이 함수를 사용했지만 대부분 response.session 객체가 없습니다. 내가 응답 할 때 콘솔 로그를 할 때. NotConnected (로그인했지만 앱에 연결하지 않은 사용자)에게 알려줍니다. 그것은 팬 페이지입니다. 어떻게 이것에 대한 정보를 얻을 수 있습니까? 팬 페이지에서 사용자를 얻는 방법은 무엇입니까? – DucDigital

관련 문제