Facebook Graph API не может получить «проверенные» данные профиля - PullRequest
0 голосов
/ 25 августа 2011

Я не могу получить пару ключ / значение для верификации при использовании API графа, я знаю, что для верифицированного нужен токен доступа, мой код выглядит следующим образом.

 $facebook = new Facebook(array(
        'appId' => '1234',
        'secret' => '567',
    ));

// Get User ID
$user = $facebook->getUser();
$token = $facebook->getAccessToken();

if ($user) {
try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api("/$user/?access_token=$token");

} catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
}
}

$ user_profile никогда не содержит проверенных данных. Есть идеи?

Ответы [ 3 ]

2 голосов
/ 25 августа 2011

Вам не обязательно делать:

$user_profile = $facebook->api("/$user/?access_token=$token");

Однако вы можете сделать:

$user_profile = $facebook->api("/me");
2 голосов
/ 25 августа 2011

Если вы используете PHP SDK, вам не нужно передавать токен доступа, поскольку он передается для вас. Кроме того, вам не нужен идентификатор пользователя, вы можете просто использовать /me:

$user_profile = $facebook->api("/me");

Убедитесь, что вы также аутентифицировали свое приложение - я не вижу, чтобы это происходило здесь, хотя это может произойти в другом месте, которое вы не показываете.

1 голос
/ 25 августа 2011

Доберитесь $token = $facebook->getAccessToken();

Изменение:

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}
...