2013-02-11 135 views
1

我需要鏈接到我的Facebook應用程序中的特定頁面。 該應用程序不在頁面選項卡中,由於項目限制,該應用程序不能在一個。如何深度鏈接到Facebook應用程序(不是頁面標籤)

這是URL格式: https://apps.facebook.com/myappname

我需要在最後傳遞一個參數(如/next.html或頁面=下一個?),這樣我可以直接鏈接到特定網頁在應用程序外(從電子郵件)。

我該如何設置?我的項目使用PHP和jQuery。如果可能,我希望能夠嚴格使用JavaScript。

我發現了很多關於如何將頁面選項卡或移動應用程序深層鏈接的信息,但沒有發現到常規應用程序。我發現信息表明這是可能的,但沒有關於如何在網上或Facebook上實際做到這一點。

感謝您的幫助。

編輯:

好,我知道它在PHP的工作。對於這個問題的其他人,這就是我所做的。

添加「?」在「網站URL」在FB應用程序的盡頭,然後創建一個類似於此爲您的應用程序登陸頁面重定向文件(只使用絕對路徑,而不是相對那些像我做了如下):

<?php 
$query = $_SERVER['QUERY_STRING']; 
$params = explode("/", $query); 

if (in_array("gallery", $params)) { 
    header("Location: /gallery.html"); 
    exit; 
} 
else { 
    header("Location: /index.html"); 
    exit; 
} 
?> 

這個答案是什麼幫助我弄清楚這一點: $_GET on facebook iframe app

+0

你能告訴我一個關於如何訪問facebook應用程序中的深層鏈接的示例url? – Jhn 2013-11-12 09:27:17

回答

0

?您所做的只是發出$ _GET請求,因此您需要的所有信息都將存在於$ _GET數組中。

而不是查詢$ _SERVER數組,查詢$ _GET數組。

所以,如果你有:

http://myurl.com?info=foobar

可以使用簡單的訪問信息:

$info = $_GET['info']; 

這是很好的做法,以檢查是否存在一個內核:

if (isset($_GET['info'])) 
{ 
$info =$_GET['info']; 
} 
else 
{ 
$info="default"; 
} 

如果您使用&字符,你可以有多個參數:

http://myurl.com?info=foo&moreinfo=bar 
0

你得到一個特殊的參數叫做app_data,你可以使用,但你想要的。我過去使用它來編碼我的內部應用程序的完整查詢字符串。例如,&app_data=My/Custom/Page

更多在這太問題發現:Retrieve Parameter From Page Tab URL

+0

這隻適用於頁面選項卡 - 不適用於常規應用程序。這是我可以在網上找到的答案,但再次,它不工作,除非應用程序居住在頁面選項卡,我不能使用此項目的頁面選項卡。有另一種方法嗎? – isognomon 2013-02-11 13:33:50

+0

使用畫布應用程序,您應該只能使用普通的GET參數。 – CBroe 2013-02-11 13:37:30

+0

對不起,我該怎麼做?我嘗試傳遞一個參數給簽名的請求,但我無法檢索參數,也許我接近這個錯誤?這裏是我試圖通過頁=圖庫的小提琴:http://jsfiddle.net/C3xsm/8/ – isognomon 2013-02-11 13:53:36

1

我可能失去了一些東西,但你爲什麼不只是鏈接到http://apps.facebook.com/yourapp/something.php - 這應該自動加載畫布URL,與something.php附加當您使用的路徑

顯然,這不會,如果你的畫布URL點工作到一個特定的文件,而不是一個目錄,但很多應用程序都這樣做成功

相關問題