2016-08-11 2 views
0

Я пытаюсь показать фид и события фан-страницы Facebook на веб-сайте. Я использую php sdk для вызова графика Facebook api. Я также создал приложение на своей учетной записи Facebook и имел идентификатор приложения, секрет приложения и токен приложения. Я не хочу регистрироваться на сайте. Я просто хочу интегрировать события и данные новостей на фан-страницу Facebook на веб-сайте.facebook-php-sdk serveride graph api call with app token

Мой вопрос: могу ли я использовать статический токен приложения, чтобы делать графические api-вызовы с php с моего сервера и впоследствии создавать мой сайт, чтобы никто не получал токен приложения? Или это плохо из-за проблем с безопасностью?

Вот код:

$app_ID = '{appID}'; 
$app_secret = '{appSecret}'; 
$app_token = "{staticAppTokenFromFacebookDeveloperSettings}"; 

$facebook_page_ID = '{facebookPageID}'; 

$fb = new Facebook\Facebook([ 
    'app_id' => $app_ID, 
    'app_secret' => $app_secret, 
    'default_graph_version' => 'v2.7', 
]); 


$fb->setDefaultAccessToken($app_token); 

try { 
    $response = $fb->get('/' . $facebook_page_ID . '/feed'); 
    //$response = $fb->get('/' . $facebook_page_ID . '/events'); 
    // ... 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    // When Graph returns an error 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    // When validation fails or other local issues 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 

Большое спасибо!

ответ

1

Вы должны поставить App Secret где-нибудь, чтобы использовать токен доступа к приложениям, а сервер - единственное место, где он безопасен. Просто имейте в виду, что существуют ограничения на вызовы API, вы должны кэшировать результаты в своей собственной базе данных. Не вызывайте конечные точки фида и событий для каждого пользователя.

+0

Большое спасибо за помощь! –

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