2011-09-30 58 views
1

我寫了一個作爲頁面選項卡的應用程序,但我不希望別人使用它。是否有可能使應用程序只在我的網頁上工作?如何讓Facebook應用只在我的頁面上工作?

另外,如果可以將用戶重定向到我的頁面,如果他通過另一個頁面訪問應用程序?

+0

[爲Facebook應用獲取每個標籤頁的唯一ID](http://facebook.stackoverflow.com/questions/5302471/getting-a-unique-id-per-tab-page-for- a-facebook-app) – ifaour

回答

2

這是有點粗糙,但應該工作。這將檢查當前頁面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"]; 

比如,你可以用這個方法來要求別人喜歡的網頁你展示內容之前。

希望這會有所幫助!

+0

哇,謝謝!我用來檢查用戶是否喜歡帶圖api的頁面(檢查他的喜好)。你的方式更簡單。 – Daniel

+0

沒問題,我只在幾個星期前我自己的工作! – Brigante

+0

這是一個非常常見的問題(這個或'我怎麼知道我的應用程序從哪個頁面加載') - 我們可以將此作爲常見問題解答進行推廣嗎? – Igy

相關問題