image
(圖片來源:TechCrunch

前幾天看到TechCrunch上的「Google’s Response to Facebook: “Maka-Maka”」,大意是說Google內部有個叫做Maka-Maka的專案,會針對目前市場上主要的社群網站去進行一些有趣的動作,最早是有另外一篇文章提到Google將會釋出一套API,讓開發人員可以藉此使用Google的社群資源,例如Orkut社群網站上的資訊。

沒想到今天就看到Google即將在星期四發表OpenSocial,下面是一段簡介:

OpenSocial is a set of common APIs for building social applications on the web. These common APIs mean that developers only have to learn once in order to start building social applications for multiple websites, and any website will be able to implement OpenSocial and host social applications.

OpenSocial提供了下述幾個存取的功能:

  • Profile Information個人資料(User Data)
  • Friends Information好友的資料(Social Graph,也就是好友之間的連結)
  • Activities與使用者相關的活動,例如最近的更新之類的吧?

細節我想等Google文件出來再看官方說法吧!或是各位讀者可以自行到Details Revealed: Google OpenSocial To Launch Thursday觀看文章裡面的介紹。

之前看到GSLin在寫的Social Network Search in Taiwan,裡面有提到他們會釋出API,我想這個網站的功能強化之後或許就很類似台灣版的OpenSocial API。

前陣子我自己也寫了一支程式去爬有名大站的好友名單,我做的事情比較不一樣,稍微列出來給各位讀者參考:

  • 撈取好友名單(包含User帳號、每個User給的好友敘述群組
  • 查詢加了誰、被誰加入、共同好友
  • 依群組、關鍵字、關聯性查詢使用者(關聯性的實作不太完整)
  • 提供開放的API來讀取資料庫中的好友名單(事實上我本來是想先把API的功能寫好,再用自己寫好的API來做上述的事情)

寫這樣的程式其實不難,我用的語言是Ruby搭配Hpricot這個非常好用的library,需要克服的問題就是YAHOO的999 error,我用了取巧的方式來避開這個問題(不過偶爾還是會出錯,所以有時後更新速度不快)。

另外,可以發現因為我把好友敘述、群組都記錄下來,只要查到所有加入某A使用者的敘述及相關群組,就可以大致判斷該使用者的基本資料,換句話說,這個程式還滿宅的,可以找到長榮空姐群組、政大熱舞群組之類的,透過大家的好友敘述也幾乎可以準確判斷出一個人的背景,例如學校、本名、綽號、外表特徵等等...這樣的程式如果release出來應該不用兩天就要關站了,一方面是道德爭議、一方面是機器會被撐爆。

我經常在想,有名大站這種偽Web 2.0不開放API,很多功能又沒有,那不如我們就自己來幫它寫API吧!然後連帶Pixnet, Xuite或是一些比較紅的網站,也都把使用者之間的關係parse出來,這不就成了台灣版的OpenSocial API了嗎?(不過我倒是沒考慮到侵權的問題,可能還得請教一下這方面的能手,初期還是先當個人興趣吧!)

註:不過,我想一些好友之間相似度、最短路徑之類的演算法還滿適合拿來給我這種程式新手練習練習的:D

References