我也把这根头发撕掉了。仅当用户授予了不理想的扩展权限时,您的代码才起作用。
简而言之,如果您打开
OAuth2.0forCanvas高级选项,Facebook将
$_REQUEST['signed_request']在选项卡应用程序中与请求的每个页面一起发送。如果您解析了signed_request,则可以获得有关该用户的一些信息,包括他们是否喜欢该页面。
function parsePageSignedRequest() { if (isset($_REQUEST['signed_request'])) { $enpred_sig = null; $payload = null; list($enpred_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2); $sig = base64_depre(strtr($enpred_sig, '-_', '+/')); $data = json_depre(base64_depre(strtr($payload, '-_', '+/'), true)); return $data; } return false; } if($signed_request = parsePageSignedRequest()) { if($signed_request->page->liked) { echo "This content is for Fans only!"; } else { echo "Please click on the Like button to view this tab!"; } }


