Secondo Facebook - Authentication within a Canvas Page Document, dicono che otterremo un signed_request
che consiste in un oggetto JSON. Ora dicono che signed_request
può essere passato a $_POST['signed_request']
Sono d'accordo sul fatto che funzioni per me.come leggere facebook signed_request per ottenere user_id
Ora, secondo loro, se l'utente è connesso sarò sempre un valore di oggetto JSON in questo modo: -
{
"expires":UNIXTIME_WHEN_ACCESS_TOKEN_EXPIRES,
"algorithm":"HMAC-SHA256",
"issued_at":UNIXTIME_WHEN_REQUEST_WAS_ISSUED,
"oauth_token":"USER_ACCESS_TOKEN",
"user_id":"USER_ID",
"user":{
"country":"ISO_COUNTRY_CODE",
"locale":"ISO_LOCALE_CODE",
...
}
}
Ora voglio prendere la user_id
fuori da questo modo che io sto usando questo pezzo di codice, ma la sua non funziona: -
if(isset($_POST['signed_request']))
{
echo 'YES';
$json = $_POST['signed_request'];
$obj = json_decode($json);
print $obj->{'user_id'};
}
E 'solo stampare il YES
. Perché è così?
Ho letto da qualche parte che senza l'autenticazione dell'app non sarò in grado di estrarre lo user_id
ma secondo facebook, questo è il primo passaggio e l'autenticazione dell'applicazione sarebbe 4a. Sono nuovo, se qualcuno può aiutarmi, sarà di grande aiuto. Grazie.
Se si esegue un 'print_r ($ _ POST)', cosa vedi? – Brad
Cosa vedi quando provi 'print_r ($ _ POST)'? – Brad
@Brad quando i 'print_r ($ _ POST [ 'signed_request']);' ottengo esattamente questo valore 'cnMQQpKShmtfcXXEAjNrazO7AZxAqCuZ0aIA-K1L-P8.qgytuisdhrl0aG0iOiJITUFDLVNIQTI1NiI sImV4cGlyZXMiOjEzNDUwNTM2MDAsImlzc3VlZF9hdCI6MTM0NTA0ODYwOCpoemi1dGhfdG9rZW4iOiJB QUFFOGZCWW1sN2NCQUJHVWZIb1VZUGdMcngwdjBURFlSdVFiNHNQR2pSMDRUNnZKZHkzWkFYU2RBYWNiV nFtMHJRZTFKZ2lrWkFRWkFJR2RPb0JuQ0JiVGxLOGpuUXlCSVpDWkJsWHdzWG5XbHg5VVZEV1dkIiwicG FnZSI6eyJpZCI6IjI2OTY3MDc5NjQ4MDcxOCIsImxpa2VkIjpmYWxzZSwiYWRtaW4iOmZhbHNlfSwidXN lciI6eyJjb3VudHJ5IjoiaW4iLCJsb2NhbGUiOiJlbl9JTiIsImFnZSI6eyJtaW4iOjIxfX0sInVzZXJf aWQiOiIxNTc2NDU1NjQ5In0' –