2011-07-16 32 views
3

我認爲這是可能的,但它似乎並不像我能做到的。將變量傳遞到Facebook iFrame應用程序PHP

我正在尋找在做的是傳遞變量一個Facebook應用程序的iframe。這並不重要,但我一直在嘗試一些不同的方法。如果有人有任何想法。

-----編輯---------

是(下面),我發現的物品,如果別人找這種用途...

創建鏈接...

$link_params = array(
    'item1' => "blah", 
    'item2' => "blaaaaargh" 
); 
$encodedParams = urlencode(json_encode($link_params)); 
//added to link as app_data 

索取資料...

if (!empty($signed_request) && !empty($signed_request['app_data'])) { 
    $app_data = json_decode($signed_request['app_data'], true); 
} //use in your app from here as $app_data['item1'] 
+0

你究竟想要做什麼? – Shameer

+0

我希望應用能夠在牆上張貼某些內容,然後發佈鏈接。然而,對於評論/喜歡的人來說,我需要讓他們喜歡頁面然後重定向。所以我需要的應用程序能夠接受並記住鏈接(會話變量),以傳遞它.. – rjksn

回答

9

有實際上可以東西:app_datasigned_request。該文檔說:

包含查詢字符串參數的內容的JSON字符串也稱爲app_data的 。通常在應用程序構建鏈接 以將一些數據傳遞給它自己時指定。僅當您的應用程序是加載在頁​​面選項卡中的iframe 時纔可用。

這意味着,您只需調用您的應用程序,將&app_data=...添加到url。記得先將參數編碼爲json。

+0

是的,我發現這些項目,如果其他人尋找這種用途... 獲取數據... if(!empty $ signed_request)'&&!empty($ signed_request ['app_data'])){ $ app_data = json_decode($ signed_request ['app_data'],true); } 創建鏈接... $ link_params =陣列( \t 'ITEM1'=> 「等等」, \t 'ITEM2'=> 「blaaaaargh」 ); $ encodedParams = urlencode(json_encode($ link_params)); //添加爲app_data鏈接 – rjksn