/ / $ facebook-> getSignedRequest (); restituisce il valore corretto in iframe mentre restituisce null sul mio lato server - api, simile a Facebook

$ Facebook-> getSignedRequest (); restituisce il valore corretto in iframe mentre restituisce null sul lato server - api, simile a Facebook

sto costruendo un fan gate per il mio sito per distribuire un coupon. ecco il mio codice:

<?php
require_once "facebook.php";

$app_id = "xxxxxxxxxxxxxxx";
$app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$facebook = new Facebook(array(
"appId" => $app_id,
"secret" => $app_secret,
"cookie" => true
));

print_r($_REQUEST);

$signed_request = $facebook->getSignedRequest();
echo "<pre>";
print_r($facebook->getSignedRequest());
echo "</pre>";

$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode(".", $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, "-_", "+/")), true);
$like_status = $signed_request["page"]["liked"];

print_r($facebook);

?>

Trovo che il valore restituito di$ Facebook-> getSignedRequest (); è diverso quando visito le mie app tramite apps.facebook.com/xxxxxxxxxxxxxxxxxxxxxx/ e quando visito www.coupon.mysite.com/facebook/index.php

tramite apps.facebook.com / xxxxxxxxxxxxxxxxxxxxxx /: Oggetto Facebook ([appId: protetto] => 15255288xxxxxxxx [appSecret: protetto] => XXXXXXXXXXXXXXXXXXXX [utente: protetto] => [firmatoRequest: protetto] => Array ([algoritmo] => HMAC-SHA256 [iss_at] => xxxxxxxxxxxxx [ user] => Array ([country] => hk [locale] => en_US [age] => Array ([min] => 21))) [stato: protetto] => [accessToken: protetto] => [fileUploadSupport : protetto] =>)

tramite www.coupon.mysite.com/facebook/index.php: Oggetto Facebook ([appId: protetto] => xxxxxxxxxxxxxxxxxxx [appSecret: protetto] => xxxxxxxxxxxxxxxxxx [utente: protetto] => [firmato: Richiesta: protetto] => [stato: protetto] => [accessToken: protetto] => [fileUploadSupport: protetto] =>)

quindi il fan gate non funzionerà perché$ Facebook-> getSignedRequest (); restituisce sempre null nel mio lato server. Ho cercato questo problema già da alcuni giorni e ancora non capisco qual è il problema.

Qualsiasi aiuto è molto apprezzato.

risposte:

1 per risposta № 1

^ ... continua dai commenti:

Prima di tutto, se lo fai, lo faranno i tuoi utentiti odio; in secondo luogo, quel plugin è un po 'una truffa - tutto ciò che fa è usare i cookie per archiviare se l'utente ha gradito una pagina - ma se elimini i cookie, sarai bloccato fuori dal contenuto perché non sarai in grado di apprezzare di nuovo la pagina. Inoltre, non funzionerà senza Javascript.

Tutto il plug-in fa è agganciato all'azione "mi piace" quando l'utente fa clic sul pulsante mi piace tramite

FB.Event.subscribe("edge.create", function(href, response){});

il grafico api di api determina se l'utente ama l'URL