У меня возникают проблемы при публикации действий с открытым графиком Facebook, поскольку сеанс истек.Как это исправить? - PullRequest
0 голосов
/ 06 февраля 2012

У меня проблема с публикацией действий с открытым графиком Facebook.

Как только я удаляю приложение из своей учетной записи пользователя, а затем снова разрешаю, я получаю следующую ошибку:

Error occured
Type: OAuthException
Message: Error validating access token: Session has expired at unix time 1328533200. The current unix time is 1238541149.

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

Я использую следующий код: [Удалены личные данные]

<script type="text/javascript">
 function read() {
  FB.api('/me/nmaespace:read' + 
   '?article=http://domain.com/post.php?id=<?php echo $linkid; ?>&access_token=accesssdfsdfssd',
   'post',
  function(response) {
   var msg = 'Error occured';
   if (!response || response.error) {
    if (response.error) {
     msg += "\n\nType: "+response.error.type+"\n\nMessage: "+response.error.message;
    } alert(msg);
   } else { alert('Post was successful! Action ID: ' + response.id);}
  });
 }
</script>

Что я могу сделать, чтобы это не происходило изаставить мой код работать?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

При удалении приложения его токены аутентификации аннулируются навсегда.

Вам необходимо запросить у пользователя повторную авторизацию и получить новый токен авторизации.

0 голосов
/ 06 февраля 2012

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

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