Facebook的API跟PayPal / eBay / Google的都很相似,都是可以經"REST"的介面,把Parameter放上URL去跟Web Service溝通。但Facebook比較特別的是,除REST外,還有"FQL","FBML","XFBML"和"FBJS"的方法。我全部都小試一下,當中FQL比較特別,做個小介紹 :
FQL:
你可以理解為直接在Facebook DB上,於SQL Syntax去Query。(當然有很多限制)而執行FQL依然要引用API中的"fql.query"方法,不是真的給你連接去Database。
FQL Table : http://wiki.developers.facebook.com/index.php/User_(FQL)
Example :
SELECT name FROM user WHERE uid=753087004
return values就會是 :
<?xml version="1.0" encoding="UTF-8"?> <fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true"> <user> <name>Cheung Ming Ming</name> </user> </fql_query_response>
你可以用FQL查詢到很多資料,例如group 的資料, group中有什麼member , album 中有什麼photo , photo 中的image source , user的資料。
或者大家會和我一樣都想到,可以自己做一個facebook user search engine,但事實上做不到的。
原因是使用FQL查詢,先決條件就是你要知道userid , groupid, albumid 等等。
你可能會想到用
SELECT name FROM user WHERE timezone = '8' //取得GMT+0800 (香港)的用戶 /*或*/ SELECT name FROM user WHERE uid > 0
等等Query去取得User List,但Facebook只會return 一句 errormsg : Your statement is not indexable
因為Facebook文件已經寫明 , uid 和 name是Indexable column ,必須輸入,而且exactly要用"="的operator,因為FQL不支援"LIKE"。當然用REST方法同樣做不到。
參考FQL Functions and Operators :
http://wiki.developers.facebook.com/index.php/Functions_and_Operators
試玩了幾小時,我覺得Facebook API真的很容易使用,幾乎不用看任何Document就可以立即使用。
而且透過FBML,即時Output HTML,令到寫FB App真的很方便。使用FBJS又可以呈現出Facebook的Web 2.0效果。
做Facebook Application十分容易,但如果用VB,C#寫呢?我個人覺得基於上述的理由,擴展性實在不高,所以想靠Facebook API賺錢的人,要認真想一想。
題外話,Facebook好像今天改版了,Home的介面不同了,網址都變成"http://www.new.facebook.com/home.php"
Facebook新design5月時已經開始左
回覆刪除不過一直都未搞掂,只有beta版http://www.readwriteweb.com/archives/facebook_new_profile_dev_sandbox.php
你好!,
回覆刪除本人是想學寫Facebook app for fun, 但未有Server, 是否要Set up server first? 本人也想學如何set up server, 因facebook developers official 網寫要Appache set up先得? 同如何才找到正確步呢?
請幫忙!!!謝謝你~
你好。。
回覆刪除很想知道你对facebook下开发应用程序的理解,,因为我在写毕业论文哦。。
:bouncy: 。。。期待你的回复。。