facebook-php-sdk服务器端图api调用app令牌

时间:2016-08-11 15:12:29

标签: facebook-graph-api facebook-php-sdk

我正在尝试在网站上显示Facebook粉丝页面的Feed和事件。我正在使用php sdk来调用Facebook图形API。我还在我的Facebook帐户上创建了一个应用程序,并拥有应用程序ID,应用程序密钥和应用程序令牌。 我不想登录网站的用户。我只是想在网站上整合Facebook粉丝页面的活动和新闻数据。

我的问题是:我可以使用静态应用令牌从我的服务器使用php进行图形api调用并在此之后构建我的网站,以便没有人会收到应用令牌吗?或者由于安全问题这是不是很糟糕?

以下是代码:

$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 个答案:

答案 0 :(得分:1)

你必须将App Secret放在某个地方才能使用App Access Token,而服务器是唯一安全的地方。请记住,API调用有限制,您应该将结果缓存在您自己的数据库中。不要为每个用户点击调用feed和events端点。