Проблемы PHP API Facebook с подпиской

Я пытаюсь использовать обновления Facebook в реальном времени, как описано здесь. Я использую PHP SDK. У меня уже есть токен доступа, который работает для других функций с этими разрешениями: usser_checkins,publish_stream,offline_access.

При попытке добавить подписку я получаю следующую ошибку из Facebook SDK.

Неустранимая ошибка: Uncaught OAuthException: (#15) Этот метод должен вызываться с приложением access_token

Код, который я использую, приведен ниже. Все переменные установлены правильно. Любые идеи?

    $callback_url = plugins_url('fb_callback.php',__FILE__);
    $config = array('appId' => $app_id,
                    'secret' => $app_secret,
                     );
    $facebook = new Facebook($config);
    $token = fb_get_access_token();
    $facebook->setAccessToken($token);
    $ret_obj = $facebook->api($app_id . '/subscriptions', 'POST',
                array('callback_url' => $callback_url,
                      'object' => 'checkin',
                      'verify_token' => 'a390jkl091091j908j',
                      'fields' => 'id'
                      ));

person Michael    schedule 07.10.2011    source источник
comment
Что делает fb_get_access_token()? Не поделитесь кодом?   -  person ifaour    schedule 07.10.2011


Ответы (2)


Я написал сообщение с моим решением этой проблемы с примером кода:

http://marcneuwirth.com/blog/2011/12/08/facebook-real-time-updates/

Надеюсь, это поможет.

person Marc Neuwirth    schedule 08.12.2011

У меня была аналогичная проблема. Не уверен, что он такой же, как у вас. Но токен доступа к приложению возвращается должным образом только тогда и только тогда, когда URI запроса не имеет "области действия" в строке запроса. Другими словами, это должно быть точно:

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

Если он отличается от приведенного выше, он вернет маркер доступа пользователя, даже с &grant_type=client_credentials

person Keyne Viana    schedule 27.10.2011