0

저는 사용자가 특정 페이지를 좋아하는지 판단하기 위해 노력해 왔습니다. 따라서 해당 페이지의 탭을 도가 낼 수 있습니다. 나는 user_likes에 대한 권한 부여를 위해 사용자에게 메시지를 표시하고 싶지 않았다, 그래서 JS SDK를 피할와 PHP SDK를 사용 :tab/app 외부에서 FB PHP SDK를 통해 signed_request를 얻으려면 어떻게해야합니까?

<?php 
require 'src/facebook.php'; 
$app_id = "..."; 
$app_secret = "..."; 
$facebook = new Facebook(array('appId' => $app_id, 'secret' => $app_secret, 'cookie' => true)); 
$signed_request = $facebook->getSignedRequest(); 
$like_status = $signed_request["page"]["liked"]; 
/* testing response */ 
if ($like_status) { 
    /* liked content */ 
} else { 
    /* not liked content */ 
} 
?> 

내 문제는 코드가 FB tab--에있는 경우에만 signed_request이 전달입니다 FB 외부에서 PHP 페이지를 조회하면 아무 것도 얻을 수 없습니다. Facebook.com 외부에서이 사용자 정보를 얻을 수있는 방법이 있는지 궁금합니다.

답변

0

세션이나 쿠키에 signed_request를 저장하면 만료 될 때까지 사용할 수 있습니다. 그런 다음 사용자는 탭을 다시 사용하여 갱신해야합니다. 당연히 쿠키를 사용하려는 경우 signed_request를 디코드하여 쿠키에서 access_token을 찾아서 사용할 수 없도록해야합니다.

+0

고마워, 나는 이것도 생각했다. 그러나 나는 여전히 피하고 싶은 어떤 종류의 인증이 필요하다. –

+0

아닙니다. 'signed_request'는 관계없이 전달됩니다. Like Gate가 아닌 다른 API를 쿼리하려는 경우에만 인증이 필요합니다. –

+0

즉, 사용자가 signed_request가 유효하기 위해 조치 (탭 방문)를 수행해야하는 시점이 올 것입니다. –

0

이 같은 사운드는 Facebook 탭 외부에서는 실제로 실현 가능하지 않습니다. 우리는 사용자의 행동없이이 데이터를 가져 오기 위해 PHP로 탭을 배치하기 시작했습니다.

감사합니다.

관련 문제