Согласно Facebook — Аутентификация в документе страницы холста, говорится, что мы будем получать 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, это 1-й шаг, а аутентификация приложения будет 4-м. Я новичок в этом, если кто-то может мне помочь, это будет очень полезно. Спасибо.
print_r($_POST)
, что вы увидите? - person Brad   schedule 15.08.2012print_r($_POST)
? - person Brad   schedule 15.08.2012print_r($_POST['signed_request']);
получаю именно это значениеcnMQQpKShmtfcXXEAjNrazO7AZxAqCuZ0aIA-k1L-P8.qgytuisdhrl0aG0iOiJITUFDLVNIQTI1NiIsImV4cGlyZXMiOjEzNDUwNTM2MDAsImlzc3VlZF9hdCI6MTM0NTA0ODYwOCpoemi1dGhfdG9rZW4iOiJBQUFFOGZCWW1sN2NCQUJHVWZIb1VZUGdMcngwdjBURFlSdVFiNHNQR2pSMDRUNnZKZHkzWkFYU2RBYWNiVnFtMHJRZTFKZ2lrWkFRWkFJR2RPb0JuQ0JiVGxLOGpuUXlCSVpDWkJsWHdzWG5XbHg5VVZEV1dkIiwicGFnZSI6eyJpZCI6IjI2OTY3MDc5NjQ4MDcxOCIsImxpa2VkIjpmYWxzZSwiYWRtaW4iOmZhbHNlfSwidXNlciI6eyJjb3VudHJ5IjoiaW4iLCJsb2NhbGUiOiJlbl9JTiIsImFnZSI6eyJtaW4iOjIxfX0sInVzZXJfaWQiOiIxNTc2NDU1NjQ5In0
- person Django Anonymous   schedule 15.08.2012$signed_request = $facebook->getSignedRequest();
- person Abhishek   schedule 15.08.2012