* 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
10gbiz怎么样?10gbiz在本站也多次分享过,是一家成立于2020的国人主机商家,主要销售VPS和独立服务器,机房目前有中国香港和美国洛杉矶、硅谷等地,线路都非常不错,香港为三网直连,电信走CN2,洛杉矶线路为三网回程CN2 GIA,10gbiz商家七月连续推出各种优惠活动,除了延续之前的VPS产品4折优惠,目前增加了美国硅谷独立服务器首月半价的活动,有需要的朋友可以看看。10gbiz优惠码...
国庆钜惠 最低5折起 限量促销CYUN专注海外精品服务器资源,主营香港CN2 GIA、美国CERA、美国高防服务器资源,实体公司,ISP/IDC资质齐全,客服配备齐全。本次针对国庆推出非常给力的促销活动,旗下所有平台同享,新老客户同享,限时限量,售完截止。活动截止时间:2021年10月9日官网地址:www.cyun.net参与机型:香港CN2 GIA云服务器、香港双程CN2云服...
今天遇到一个网友,他之前一直在用阿里云虚拟主机,我们知道虚拟主机绑定域名是直接在面板上绑定的。这里由于他的网站项目流量比较大,虚拟主机是不够的,而且我看他虚拟主机已经有升级过。这里要说的是,用过阿里云虚拟主机的朋友可能会比较一下价格,实际上虚拟主机价格比云服务器还贵。所以,基于成本和性能的考虑,建议他选择云服务器。毕竟他的备案都接入在阿里云。这里在选择阿里云服务器后,他就蒙圈不知道如何绑定域名。这...