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