* FBML 使用FBML開發的Facebook應用程式,在Can vas Callback URL所指向的程式不能有<body>,<head>,<meta>,<script>,<link>…等等標籤在裡面, 也就是說你不能在裡面去引入外部的CSS,Javascript以及許多出神入化的Javascript Framework,像是jQuery與ExtJs等等. 使用FBML可以使用非常多Facebook內建的標籤去取用許多Facebook功能模組(ex:Social,Sanitization,Design,Component,Control…)以及敏銳的驗證機制 運作程序 1. 使用者發出對你的Canvas Page的Request. 2. Facebook Server根據你應用程式設定中的所指定的Callback URL, 發出HTTP POST到你的應用程式伺服器, POST的內容就是一堆以fb_sg為prefix的參數,細節請看應用程式的授權. 3. 假如你的應用程式沒有呼叫Facebook API的必要的話, 此時你的應用程式就會回傳FBML給Facebook. 反之如果你有需要透過Facebook API去取得一些FBML所無法取得的資料的話, 此時你的APP會發出Facebook API Request到Facebook Server 4. Facebook Server會根據API所請求的內容回傳相對應的Social Content到你的應用程式伺服器 5. 接收到Facebook Server回傳的資料後, 你的應用程式會將接收到的Social Content伴隨著FBML一起回傳到Facebook Server 6. Facebook在接收到FBML之後會透過FBML Parser將其轉換成一般的HTML並回傳到使用者的瀏覽器上去作頁面的呈現 大部分的狀況下, FBML就已經能提供足夠的Social Content去進行應用程式的運作, 所以步驟3與步驟4在採用FBML的應用程式上通常不會發生. * IFRAME 簡單說, 採用此種開發模式的Facebook App就是在Facebook的Canvas Page上Layout出一個傳統的IFRAME(官方文件說法是IFRAME會被包在Facebook Chrome之中), 而位於開發者主機上的程式或頁面就顯示於該IFRAME裡面, 在這個IFRAME妳可以任意的使用CSS,Javascript, 以及任何你愛用的Javascript Framework. Javascript除錯較為方便, 因為開發者可以利用許多工具像是Firebug來進行偵錯的動作. 較快的AJAX存取, 因為不用經過Facebook Proxy 用Firebug檢視位於Facebook Chrome中的IFRAME你會發現Facebook附加了很多資訊在你的Canvas Callback URL之後 http://www.mylover.hk/facebook/mylover-official.php?fb_sig_in_iframe=1&fb_sig_iframe_key=xxxxx&fb_sig_locale=en_US&fb_sig_in_new_facebook=1&fb_sig_time=1256090683.9768&fb_sig_added=0&fb_sig_api_key=xxxxx&fb_sig_app_id=xxxxx&fb_sig=xxxxx 這些附加在Canvas Callback URL之後的fb_sig系列參數是為了讓你的程式知道哪一位使用者登入了你的應用程式以及確認這項Request確實是來自Facebook. 除此之外, 附加的參數中也包含了你應用程式的API Key(fb_sig_api_key=xxxxx), 讓你可以呼叫Facebook API去取得使用者姓名, 朋友清單, 個人頭圖…等各項社交內容(Social Content). 運作程序 1. 使用者對Facebook Server發出App的請求 2. Facebook Server會剖析使用者Request的是那一個App, 然後回傳相對應的Facebook Chrome到使用者的瀏覽器上. 3. 使用者瀏覽器接收到回傳的Facebook Chrome之後, 會根據包在裡面的IFRAME去向你(應用程式開發者)的應用程式伺服器去取得IFRAME的內容. PS:如果你去檢視頁面原始碼就會看到Facebook Chrome就是如下方顯示的HTML <div id="app_content_{應用程式的APP ID}" class="canvas_rel_positioning app_content_{應用程式的APP ID}"> <iframe frameborder="0" class="smart_sizing_iframe" fbcontext="d878215e9e95" smartsize="true" src={應用程式設定中的Canvas Callback URL}?fb_sig_in_iframe=1&fb_sig_iframe_key=xxxxx&fb_sig_locale=en_US&fb_sig_in_new_facebook=1&fb_sig_time=1256090683.9768&fb_sig_added=0&fb_sig_api_key=xxxxx&fb_sig_app_id=xxxxx&fb_sig=xxxxx name="iframe_canvas" id="app{應用程式的APP ID}_iframe_canvas" style="width: 758px; height: 440px;"/> </div> 4. 在你的應用程式伺服器上, 應用程式會發出Facebook API的Request到Facebook伺服器去取得需要的資料. 5. Facebook Server會驗證API Request然後回傳API呼叫的資料到你的應用程式伺服器. 6. 將透過Facebook API取得的資料組成完整的HTML回傳到使用者的瀏覽器去進行呈現.
复制过来的。
非原创 原创转帖地址 /share/detail/15080223
易探云怎么样?易探云是国内一家云计算服务商家,致力香港服务器、国内外服务器租用及托管等互联网业务,目前主要地区为运作香港BGP、香港CN2、广东、北京、深圳等地区。易探云服务器均选择当下热门线路,比如CN2 GIA、BGP线路、CN2线路等,所有云主机支持月付,并且首月优惠,年付优惠,优惠后香港沙田云服务器/独立ip/香港CN2线路,每月仅18元,188元/年。点击进入:易探云官方网站地址1、香港...
昨天晚上有收到VULTR服务商的邮件,如果我们有清楚的朋友应该知道VULTR对于新注册用户已经这两年的促销活动是有赠送100美元最高余额,不过这个余额有效期是30天,如果我们到期未使用完的话也会失效的。但是对于我们一般用户来说,这个活动还是不错的,只需要注册新账户充值10美金激活账户就可以。而且我们自己充值的余额还是可以继续使用且无有效期的。如果我们有需要申请的话可以参考"2021年最新可用Vul...
老薛主机,虽然是第一次分享这个商家的信息,但是这个商家实际上也有存在有一些年头。看到商家有在进行夏季促销,比如我们很多网友可能有需要的香港VPS主机季度及以上可以半价优惠,如果有在选择不同主机商的香港机房的可以看看老薛主机商家的香港VPS。如果没有记错的话,早年这个商家是主营个人网站虚拟主机业务的,还算不错在异常激烈的市场中生存到现在,应该算是在众多商家中早期积累到一定的用户群的,主打小众个人网站...