Я делаю приложение Canvas на странице facebook.
Мой очень простой вопрос заключается в следующем: с новейшим SDK facebook (только что загруженным сегодня), если пользователь еще не предоставил разрешение на доступ к вашему приложению, будет ли класс facebook в SDK автоматически определять это и пытаться получить авторизацию?
Я могу вручную получить аутентификацию для своего приложения, перейдя сюда:
https://graph.facebook.com/oauth/authorize?client_id=<myClientID>&redirect_uri=<myRedirectURL>&type=user_agent&display=page&scope=publish_stream,%20user_about_me,%20user_likes,%20email
Все работает просто отлично... но когда я пытаюсь сделать то, что делает example.php в SDK, он возвращает ошибку:
Неустранимая ошибка: Uncaught OAuthException: неверная подпись токена доступа OAuth. добавлено в /public_html/bridge/base_facebook.php в строке 1107
Таким образом, мой вопрос: я должен получить действительный токен доступа OAuth, или я неправильно настраиваю PHP SDK facebook?
Вот мой полный код PHP, который генерирует ошибку:
<?php
require 'facebook.php';
$facebook = new Facebook(array(
'app_id' => '<my app id>',
'app_secret' => '<my app secret>',
));
$user = $facebook->getUser();
$jared = $facebook->api('/jaredmark');
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;
}
}
// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
Этот код, по сути, является прямой копией/вставкой из примера с небольшими правками.