1 / 1

Facebook 資料備份與應用

Facebook 資料備份與應用. 組員:趙家均、熊恩妤 指導教授:吳昇教授. 簡介.

Download Presentation

Facebook 資料備份與應用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Facebook資料備份與應用 組員:趙家均、熊恩妤指導教授:吳昇教授 • 簡介 Facebook近年來已成為眾多使用者記錄生活、與人互動、宣布事情的平台,因此動態塗鴉牆上含有大量資訊。Facebook本身有提供備份功能,但使用者需經過繁複的步驟才能取得資料。在開發者網頁裡,Facebook提供了完整的API給使用者使用,只要成功申請並擁有權限,開發者就能使用API向Facebook抓取使用者資料。這個專案先使用Facebook Query Language(FQL)取得塗鴉牆資料,再將資料分析處理,讓使用者能將資料存進個人電腦作備份,並在網頁上提供搜尋、排序等主要功能。 • 程式架構 • 困難 • Facebook使用OAuth 2.0的標準,讓第三方應用程式可以在使用者的同意之下(不需要使用者帳號、密碼)存取個人私密資料。為避免給予第三方太多權限,Facebook將不同類型的資料分配到不同table中,並給予它們不同的權限設定。所以當我們向Facebook要求存取資料時,會因為向使用者要求的權限不足,而無法取得完整所需的資料。 • 使用API抓取動態時,會限制最多能抓取的數量,或能抓到的最早時間。因此當使用者動態總數量太多,我們就無法抓取較早的動態,必須經常開啟抓取資料的程式將資料存進資料庫。 • 因為使用PHP結合FQL抓取資料,平均需經過十幾分鐘才能抓取到最大限制數量,實作上並不適合將抓取資料和處理資料結合放上顯示頁面,因此我們必須將取得資料與處理資料分開執行。 • 取得資料 end login.php login to Facebook 回報已完成 否 透過Facebook的API,要求取得使用者read_stream, user_about_me, read_requests, read_friendlists的權限 判斷是否有取得資料 是 Weight =like_count*2 +comment_count +share_count 使用FQL向facebook要求30筆feed • 未來展望 新增或更新至sqlite資料庫 目前我們備份的範圍以個人塗鴉牆上的動態為主,備份的內容以文字資料保存。未來我們希望能備份到更完整資料,例如社團訊息、相簿、影片等多媒體的資料,並將資料做更詳細的劃分、歸類保存,也希望能達到即時備份或是定時備份的功能,讓使用者更有效率的管理自己的資料。 • 處理資料 首頁連結至classify.php 自動連結至allStream.php頁面 • 網頁呈現 登入Facebook取得user id 在資料庫裡的feedtable選擇attachment_type為影片的動態,存入video table 在資料庫創建my_feed table 在資料庫創建video table 在資料庫裡的feedtable選擇發佈者id為使用者id的動態,存入my_feed table 在資料庫裡的feedtable選擇一週內weight較高的熱門動態,存入popular table • 參考網站 PHP:http://www.php.net/manual/en/langref.php w3schools:http://www.w3schools.com/ FQL:https://developers.facebook.com/docs/reference/fql/ SQLite:http://www.sqlite.org/ PDO:http://php.net/manual/en/book.pdo.php stackoverflow:http://stackoverflow.com/ 在資料庫創建popular table

More Related