Подписанный запрос - как я могу найти, если пользователю Facebook понравилось мое приложение fb? - PullRequest
0 голосов
/ 13 января 2012

Я пытаюсь найти, нравится ли пользователю мое приложение на Facebook или нет, и я использую следующие функции:

 function parse_signed_request($signed_request, $secret) {
 list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

 // decode the data
 $sig = base64_url_decode($encoded_sig);
 $data = json_decode(base64_url_decode($payload), true);

 if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
   error_log('Unknown algorithm. Expected HMAC-SHA256');
return null;
 }

 // check sig
 $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
 if ($sig !== $expected_sig) {
error_log('Bad Signed JSON signature!');
return null;
}

 return $data;
}

  function base64_url_decode($input) {
 return base64_decode(strtr($input, '-_', '+/'));
}    

$decodedSR = parse_signed_request($_REQUEST['signed_request'],$config['secret']);

//print_r($decodedSR ); 

if ($decodedSR['page']['liked'] == 1) {//code}

Проблема в том, что этот код (print_r($decodedSR );) возвращает этот массив (без'page'] ['Мне понравилось']):

Array ( [algorithm] => HMAC-SHA256 [expires] => 0 [issued_at] => xxx[oauth_token] => xxxxxx[user] => Array ( [country] => xx [locale] => xx [age] => Array ( [min] => 21 ) ) [user_id] => xxxxx) 

Что мне делать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...