我怎样才能使一个facebook应用程序只在我的页面上工作


How can I make a facebook app work only on my page?

我写了一个应用程序,作为一个页面标签,但我不希望别人使用它。是否有可能使应用程序只在我的页面上工作?

另外,如果有可能重定向用户到我的页面,如果他通过另一个页面访问应用程序?

这有点粗糙,但应该可以工作。这将检查当前页面ID是否为您的页面ID,如果不是,则显示错误消息。

<?php
    // Include the Facebook PHP SDK
    require('includes/fbSDK/facebook.php');
    // Enter your app details
    $app_id = "xxxxxxxxxxx";
    $app_secret = "xxxxxxxxxxxxx";
    $facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
    ));
    $signed_request = $facebook->getSignedRequest();
    // Get the curren page ID
    $page_id = $signed_request["page"]["id"];
    // Enter your page ID
    $mypageID = '123456789';
    if ($page_id == $mypageID):
        include('/your/app/files.php');
    elseif ($page_id != $mypageID):
        echo "This app only works on a single page!";
    endif;
?>

这里有一些你可以检查的例子:

$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];

例如,你可以使用这个方法在你显示内容之前要求某人喜欢一个页面。

希望这对你有帮助!