2011-09-29 89 views
0

一樣動態我正在開發一個facebook應用程序,用戶可以觀看播放列表中的視頻並查看來自畫廊的圖像。該應用程序本身託管在我的服務器上,然後設置爲Facebook中的畫布頁面。我想要的是讓用戶能夠「喜歡」單獨的視頻和照片。我目前已經設置了它,以便在選擇照片/視頻時,它會修飾「Like」按鈕的href屬性,並附帶相應頁面的URL,並附加圖像/視頻ID的查詢字符串。Facebook應用程序像

例如href =「http://www.myApp.com/index.php?id=0001」

這可以工作,但問題是,當「贊」事件發佈在用戶牆上時,創建的鏈接轉到託管頁面而不是Facebook的畫布頁面(換句話說,它離開了Facebook)。我想要的是用戶牆上的「喜歡」鏈接將它們帶到畫布頁面,並在頁面內選擇正確的頁面和圖像/視頻。

我可以設置href進入畫布頁面,但那會在主頁上的應用程序,我希望它直接到喜歡的圖像/視頻。有沒有可能我可以修改url的方式,以便當它被點擊時它告訴Facebook到底爲canvas頁面設置了什麼url?

回答

0

因爲其他人對此有困難我已經找到了解決方案。

設置你的href屬性的「Like」按鈕,您的應用程序,即「apps.facebook.com/myApp/」

然後,您可以添加在結束自己的查詢字符串,以確定其中的Facebook頁面你想要去的應用程序。選擇可能對您的應用唯一的名稱,以免它與Facebook可能同時處理的任何內容意外衝突。即

「apps.facebook.com/myApp/?myAppPage=photos & myAppId = 003」

在到達網頁代碼

現在把這樣的事情在頂部:

if (isset($_REQUEST['myAppPage'])) { 
$myAppPage = $_REQUEST['myAppPage']; 
if (isset($_REQUEST['myAppId'])) { 
    $myAppId = $_REQUEST['myAppId']; 
    $qsName; 
    switch ($myAppPage) { 
     case "photos": 
      $qsName = 'gal'; 
      break; 
     Case "videos": 
      $qsName = 'vid'; 
      break; 
    } 
    header("Location: $myAppPage.php?$qsName=$myAppId"); 
} 
} 

這應該在不離開Facebook的情況下將您的應用重定向到您想要的頁面。然後你只需要編寫你的頁面來根據標題中傳遞的新查詢字符串加載正確的內容。

希望這可以幫助別人。