В конечном счете, я пытаюсь отобразить публичный фид на facebook на веб-сайте, принадлежащем владельцу страницы Facebook.График Facebook api: сообщения страниц возвращают пустые данные
Я использую PHP SDK 4.0, пытаясь вытащить пару сообщений со страницы из графика api v2.2.
Я установил приложение на developers.facebook.com, я использую секрет приложения и приложение для настройки приложения по умолчанию.
Метод, который я использую ниже, чтобы получить токен доступа, возвращает токен доступа к приложениям.
// Skip these two lines if you're using Composer
define('FACEBOOK_SDK_V4_SRC_DIR', __ROOT__.'/facebook/src/Facebook/');
require __ROOT__ . '/facebook/autoload.php';
session_start();
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\GraphPage;
use Facebook\FacebookRequestException;
use Facebook\FacebookRedirectLoginHelper;
$page_id = "pageID";
$app_id = "appID";
$app_secret = "appSecret";
FacebookSession::setDefaultApplication($app_id, $app_secret);
// Get access token
$access_token = file_get_contents("https://graph.facebook.com/oauth/access_token?client_id={$app_id}&client_secret={$app_secret}&grant_type=client_credentials");
$access_token = substr($access_token, strpos($access_token, "=") + 1);
// Start new session
$session = new FacebookSession("$access_token");
// Get the GraphUser object for the current user:
try {
$request = new FacebookRequest($session, 'GET', "/{$page_id}/posts");
$response = $request->execute();
$graphObject = $response->getGraphObject();
var_dump($graphObject);
} catch (FacebookRequestException $e) {
echo $e;
// The Graph API returned an error
} catch (\Exception $e) {
// Some other error occurred
}
И мой код, и ввести эту информацию в URL
https://graph.facebook.com/v2.2/pageID/feed?access_token=accessToken
возвращает
{
"data": [
]
}
Кто-нибудь знает, почему набор данных пуст? Как я могу получить публичные сообщения страницы без необходимости спрашивать посетителя сайта для аутентификации?
Означает ли это, что невозможно отобразить сообщения на странице, не спрашивая у каждого посетителя веб-сайта доступ к приложению? – GDT
Вы также должны создать вечный токен доступа к странице и сохранить его в своем приложении. На эту тему есть много ответов. Используйте поиск. – Tobi
Да, конечно. Мне нужны имя пользователя и пароль моих клиентов. Или я должен был бы быть добавлен в качестве менеджера на их страницу (головная боль все сама по себе). Если я когда-нибудь потеряю управление, тогда ключ потерян? Я искал более программный способ решить эту проблему. Я единственный другой способ серьезно спросить посетителя, хотят ли они показать поток Facebook? – GDT