Получение идентификатора пользователя Facebook на фан-странице больше не работает - PullRequest
3 голосов
/ 17 ноября 2011

Этот код работал нормально, но теперь в моем объекте $data отсутствует user_id.Я имел в виду, что с того момента, как Пользователь «любит» страницу, он больше не является анонимным, и что вы можете получить его идентификатор, используя этот код.Это код, который я всегда использовал:

<code>require_once 'assets/requests/facebook-php-sdk-dafef11/src/facebook.php';

$secret = "XXX";
$data = parse_signed_request($_REQUEST['signed_request'], $secret);


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);
 echo ' FUID: ', $fuid = $data['user_id'];    // NO USER ID HERE ANYMORE
 echo '<pre>' , var_dump($data), '
';if (strtoupper ($ data ['attribute'])! == 'HMAC-SHA256') {error_log ('Неизвестный алгоритм. Ожидаемый HMAC-SHA256');вернуть ноль;} // check sig $ Ожидаемый_sig = hash_hmac ('sha256', $ payload, $ secret, $ raw = true);if ($ sig! == $ Ожидаемый_сиг) {error_log ('подпись JSON с плохой подписью!');вернуть ноль;} вернуть $ data;} function base64_url_decode ($ input) {return base64_decode (strtr ($ input, '-_', '+ /'));}

var_dump объект $data показывает это:

array(4) {
  ["algorithm"]=>
  string(11) "HMAC-SHA256"
  ["issued_at"]=>
  int(1321524964)
  ["page"]=>
  array(3) {
    ["id"]=>
    string(15) "227488627318218"
    ["liked"]=>
    bool(true)
    ["admin"]=>
    bool(false)
  }
  ["user"]=>
  array(2) {
    ["locale"]=>
    string(5) "de_DE"
    ["age"]=>
    array(1) {
      ["min"]=>
      int(21)
    }
  }
}

Facebook что-то изменил?

1 Ответ

0 голосов
/ 22 ноября 2011

Используете ли вы старый материал fb_sig? Я не собираюсь притворяться, что понимаю, что это значит, но fb_sig был удален на днях. Они сказали, что это было удалено 1 октября, но я думаю, что они фактически удалили это в конце прошлой недели:

http://developers.facebook.com/blog/post/497/

...