我開發了一個Facebook畫布應用程序,向用戶發送新聞傳遞,我希望能夠允許用戶點擊新聞傳遞中的鏈接,並將其與應用程序中呈現的一些數據一起帶到我的應用程序中例如通過將它傳遞給查詢字符串)。如何在查詢字符串中將某些值傳遞給我的Facebook畫布應用程序?
當我創建將用戶的動態消息發佈的鏈接我設置鏈接場 -
http://apps.facebook.com/myappname/?datatopass=mydata
這工作,當用戶點擊這個鏈接的瀏覽器引導他們該鏈接。但是我無法訪問$ _GET ['datatopass']變量(使用PHP),它看起來是空白的。我已經嘗試使用JavaScript來輸出window.location變量,並且我沒有看到我傳遞的查詢字符串,儘管我在瀏覽器地址欄中看到上面的url。我所看到的是我在facebook開發人員應用程序中設置的網站網址,以及facebook使用的狀態和代碼 params。它剝離了我的datatopass param,我希望能夠在我的應用程序啓動時閱讀。
所以...我怎麼傳遞我想發送的數據?如果您使用的是signed_request,我知道有一個app_data字段,但據我所知,這僅適用於坐在頁面的Tab中的應用程序。我正在使用iFrame canvas應用程序方法。
當我看着我的Apache服務器的訪問日誌,我可以看到,有我的網站的URL地址的POST進入我的附加查詢字符串 - 隨之而來的是GET項
my.domain.com 123.456.7.890 - - [23/Feb/2012:14:21:19 +0000] "POST /facebookapp/?datatopass=mydata HTTP/1.1" 200 300 "http://apps.facebook.com/myappname/?datatopass=mydata" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0"
-
my.domain.com 123.456.7.890 - - [23/Feb/2012:14:21:20 +0000] "GET /facebookapp/directory/?state=99226fiawhoidhaoia09809a085d94832&code=ahfakshdlkfhalksj.... HTTP/1.1" 200 27094 "http://my.domain.com/facebookapp/?play=asd" "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0"
我的歉意我真的不明白上述是做什麼,但希望這將是有用的額外信息,在幫助回答這個問題。
嗨 - 是的,這是我的錯誤打印我應該添加/在我的問題 - 但我的瀏覽器會爲我添加這個,如果我不這樣,我看到相同的行爲,無論。當我在Facebook上配置應用時,我有Site URL = http://my.domain.com/facebookapp/index.php和canvas url = http://my.domain.com/facebookapp/ Canvas頁面是http:// apps.facebook.com/myappname(沒有斜線,但隨後Facebook會爲你填充)..我更新了我的問題,但是感謝您指出了這一點。 – undefined 2012-02-23 15:40:51