2012-07-11 68 views
0

如果Facebook應用程序在Facebook內運行或在Facebook以外的網站上運行,我們如何找到使用PHP或Javascript的應用程序。我不確定應該檢查的標準是什麼?如何查找該應用程序是在Facebook還是在Facebook之外運行

+0

你有任何的應用程序列表? – 2012-07-11 06:12:47

+0

我有一個Facebook應用程序,作爲Facebook應用程序和使用Facebook登錄的網站運行。兩者都有相同的代碼庫。我想實現的是動態地知道哪個版本的應用是用戶使用[Facebook或網站]? – 2012-07-11 06:16:58

+0

嘗試捕捉服務器名稱,我認爲這會幫助你很多。一旦你通過Facebook運行,你將能夠知道服務器名稱ID Facebook,我清楚? $ _SERVER ['SERVER_NAME']使用php – 2012-07-11 06:21:16

回答

3

做了一些檢查。答案如下:

if(isset($_REQUEST["signed_request"]){ 
// Opened in facebook 
}else{ 

//opened outside facebook. 
} 
1

檢查signed_request是不夠的。 如果有更多頁面,則導航是在框架中,並且您丟失了signed_request參數。

首先檢查第一頁中的signed_request,然後在會話中放入一個bool變量並對其進行控制。

這種方法有一個問題:如果你打開另一個選項卡,並在Facebook上(或反之亦然)訪問應用程序,則共享會話:)

相關問題