Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 喜欢验证没有权限请求的风扇页面_Facebook_Validation_Permissions_Facebook Like - Fatal编程技术网

Facebook 喜欢验证没有权限请求的风扇页面

Facebook 喜欢验证没有权限请求的风扇页面,facebook,validation,permissions,facebook-like,Facebook,Validation,Permissions,Facebook Like,我是韩国的一名网络开发者,在facebook上运行一个粉丝页面。 我在facebook上创建了一个iframe应用程序。 在这个应用程序中,我想知道的唯一信息是 如果用户喜欢该页面 到目前为止,我通常是通过facebook的签名请求来完成的。 但是我找到了这个页面,它在没有权限请求的情况下进行验证 如何进行验证?您可以使用php进行验证: <?php $signedRequestObject = parse_signed_request( $_POST["signed_request"

我是韩国的一名网络开发者,在facebook上运行一个粉丝页面。 我在facebook上创建了一个iframe应用程序。 在这个应用程序中,我想知道的唯一信息是 如果用户喜欢该页面

到目前为止,我通常是通过facebook的签名请求来完成的。 但是我找到了这个页面,它在没有权限请求的情况下进行验证


如何进行验证?

您可以使用php进行验证:

<?php

$signedRequestObject = parse_signed_request( $_POST["signed_request"],YOUR_APPLICATION_SECRET );

if ($signedRequestObject["page"]){
    // this means this signed_request was generated on a page
    if ($signedRequestObject["page"]["liked"]){
        // the page was liked
    }
}


//used functions
function parse_signed_request($signed_request, $secret) {
  list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
  $sig = $this->base64_url_decode($encoded_sig);
  $data = json_decode($this->base64_url_decode($payload), true);
  if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
    echo  'Unknown algorithm. Expected HMAC-SHA256 : ';
    return false;
  }
  $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
  if ($sig !== $expected_sig) {
    echo = 'Bad Signed JSON signature!';
    return false;
  }
  return $data;
}

function base64_url_decode($input) {
  return base64_decode(strtr($input, '-_', '+/'));
}

?>


这里的代码为球迷

facebook不再允许$如果加载用户喜欢该页面,则signedRequestObject[“页面”][“喜欢的”]为true,否则为false。在v2.1(2014年8月7日)发布后创建的任何应用程序将不再包含此字段,并且将在2014年11月5日对所有其他应用程序永久设置为true

<fb:visible-to-connection>
    Here code for fans
</fb:visible-to-connection>