根据Facebook - Authentication within a Canvas Page Document,他们说我们将得到一个signed_request
由 JSON 对象组成的。现在他们说signed_request
可以通过$_POST['signed_request']
我同意它对我有用。
现在根据他们的说法,如果用户登录,我将得到一个 JSON 对象值,如下所示:-
{
"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",
...
}
}
现在我想从中取出,user_id
所以我正在使用这段代码,但它不起作用:-
if(isset($_POST['signed_request']))
{
echo 'YES';
$json = $_POST['signed_request'];
$obj = json_decode($json);
print $obj->{'user_id'};
}
它只是打印YES
. 为什么会这样?
我在某处读到,如果没有应用程序身份验证,我将无法提取,user_id
但根据 facebook,这是第一步,验证应用程序将是第四步。我是新手,如果有人可以帮助我,那将有很大帮助。谢谢。