2016-09-30 2 views
-1

У меня есть веб-приложение, в котором пользователь подписывается с помощью facebook, а затем сохраняю его токен доступа в моей базе данных. Я пытаюсь проверить, действителен ли их токен в PHP SDK, и если токен действителен, я бы хотел его расширить. Проблема заключается в том, что я получаю сообщение об ошибке, которое говорит мне:Проверьте токен пользователя с API Facebook с PHP

(# 100) Вы должны предоставить приложению доступ токена или маркер доступа пользователя, который является владельцем или разработчиком приложения

Означает ли это, что только член команды разработчиков приложений может расширять или проверять свой токен?

Вот мой код:

FacebookSession::setDefaultApplication(
    'my_client_id', 
    'my_client_secret' 
); 

$session = new FacebookSession($user_token); 

try { 
    $resp = (new FacebookRequest(
     $session, 'GET', '/debug_token', array(
      'input_token' => $user_token 
     ) 
    ))->execute()->getGraphObject(); 

    //profile ok 
} catch(\Exception $exp) { 
    //profile ko 
} 
+0

Являются ли идентификаторы и тайны клиента, предоставленные вами в setDefaultApplication правильными идентификаторами для вашего приложения, как установлено командой разработчиков? –

+0

Возможный дубликат [Проблема с подтверждением токена Facebook] (http://stackoverflow.com/questions/19688494/trouble-validating-a-facebook-token) –

+0

'new FacebookSession ($ user_token);' - вот ваша ошибка. Вам нужно инициировать сеанс с токеном _app_, чтобы он использовался как параметр access_token в вызове API. (Или вы также должны иметь возможность передать этот параметр в явном виде внутри массива параметров, что должно занять преимущество над токеном, хранящимся в сеансе.) – CBroe

ответ

0

debug API для, если вы хотите, чтобы делать вещи, как приложение, а не как пользователь.

Смежные вопросы