0

То, что я на самом деле пытаюсь сделать, - это получить мои сообщения/статусы с моей личной страницы профиля facebook (это не фанатская страница) и отобразить их на моем веб-сайте. Также обратите внимание, что каждый пользователь, посетивший мой сайт, должен иметь возможность просматривать мои статусы, так как он не связан с их аутентификацией или чем-то подобным. Это то, что должно быть создано на стороне сервера.Как я могу получить личные сообщения личного профиля facebook с помощью getAccessToken()?

Я знаю, что вы можете получить строку JSON из URL-адреса, подобного этому https://graph.facebook.com/MY_PROFILE_ID/feed?access_token=ACCESS_TOKEN, потому что я попробовал его на странице разработчиков facebook (Graph API Explorer), и это именно то, что мне нужно.

Дело в том, что когда я создать маркер доступа от Graph API Explorer, я могу выбрать права доступа и генерирует маркер соответственно в соответствии с разрешениями, выбранными, например, user_status, status_update и т.д.

Теперь я хочу выполните это с помощью PHP-SDK, но я понятия не имею, как создать токен доступа так же, как тот, который я создаю в API-интерфейсе Graph API.

Основной способ сделать это - вызвать getAccessToken(), как показано здесь. Дело в том, что когда я использую токен, сгенерированный из этого простого метода, возвращаемая строка JSON будет показывать только мою основную информацию.

$config = array(
    'appId' => 'MY_APP_ID', 
    'secret' => 'MY_APP_SECRET', 
); 

$facebook = new Facebook($config); 
$ACCESS_TOKEN = $facebook->getAccessToken(); 

Как я могу добавить разрешения, например? Должен ли я назначать параметры где-нибудь? Я потратил немало времени на чтение документации API facebook и некоторых других форумов, но я не нашел ответа, который мне нужен.

Наконец, если я получу нужный токен доступа, я просто извлечу строку JSON и проанализирую ее с тем, что мне нужно.

Спасибо.

ответ

0

вам нужно для разрешения добавлений в код для входа в систему с помощью FB JS SDK добавить в рамки этого как в этом примере:

или в PHP фб SDK следующий вид:

<?php 
require 'server/fb-php-sdk/facebook.php'; 

$app_id = 'APP_ID'; 
$app_secret = 'APP_SECRET'; 
$app_namespace = 'APP_NAMESPACE'; 
$app_url = 'https://apps.facebook.com/' . $app_namespace . '/'; 
$scope = 'email,publish_actions'; 

// Init the Facebook SDK 
$facebook = new Facebook(array(
    'appId' => $app_id, 
    'secret' => $app_secret, 
)); 

// Get the current user 
$user = $facebook->getUser(); 

// If the user has not installed the app, redirect them to the Login Dialog 
if (!$user) { 
    $loginUrl = $facebook->getLoginUrl(array(
    'scope' => $scope, 
    'redirect_uri' => $app_url, 
    )); 

    print('<script> top.location.href=\'' . $loginUrl . '\'</script>'); 
} 
     ?> 

самое важное для разрешения добавления эта часть:

 $scope = 'email,publish_actions'; 

вы можете найти все о Exten деблокированные по этой ссылке

https://developers.facebook.com/docs/reference/login/extended-permissions

+0

Hi. Но это решение, которое вы предоставили, совсем не то, что мне нужно. Все, что я хочу, это то, что на моей личной веб-странице я получаю свои личные статусы профиля Facebook и, наконец, показываю, скажем, последние 5. Вот и все. Нет аутентификации других пользователей или чего-либо подобного. – justin

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