2015年6月17日星期三

同步Facebook頭像相片至電話聯絡人

電話嘅聯絡人可以存相片這個功能歷史攸久 ,即使以往嘅feature phone都已經有呢個功能。但相信一般人唔會逐個逐個為朋友影相再放入聯絡人,所以直至智能電話+Facebook的有機結合,電話聯絡人才會有較多機會有相片出現。

最初用HTC Sense嘅電話,入面我認為做得最好嘅就係聯絡人同Facebook嘅連結,因為一般聯絡人嘅名稱同Facebook friend嘅名稱唔相同,HTC Sense俾人可以手動連結,不單止咁,HTC Sense係會將有關的連結記錄(主要係facebook id)存儲喺相關聯絡人入面嘅備註欄位內。咁樣做嘅優點,就係即使你有日清除資料(如回復出廠設定)或換機(但只限同樣係HTC機),只要再同步,所有連結返晒嚟,唔洗再設定過!

後來轉了用非HTC Sense嘅電話,無咗呢個功能,但好在找到UberSync,識得認HTC Sense的記錄,非常好,一直用到今日。

但由於Facebook於1/5/2015開始強制使用新Graph API,而新的API限制程式取得Friend List,因此令市面上大部份使用Graph API同步Facebook頭像相片至電話聯絡人的Apps(如一直用開很好用的 UberSync)基本上變成無用,整個phonebook變回無相狀態。

後來發現,原來用facebook id下載用戶Facebook頭像相片係唔洗任何權限的,所以花咗啲時間,寫了ContactSyncDuck for Facebook 呢個App會讀取聯絡人內備註欄有facebook id的資料,再下載Facebook頭像相片至聯絡人。呢個App除了識讀HTC Sense所記下的連結記錄外,你亦可手動新增,格式為:<Facebook>id:facebookid</Facebook>

呢個App還有個好處,即使該人不是你的Facebook Friend,你照樣可以在備註欄新增該facebook id,一樣可以下載頭像相片。

至於點樣可以知道某Facebook朋友的facebook id呢?你可以開啟該人的Facebook page,然後用browser的檢視原始碼功能,搜尋profile id就可以搵到。但係簡單啲,可以用呢個網頁嘅功能去搵。

另外,如果該人更新了頭像相片,呢個App都會識得在下次同步時下載最新相片。

用咗之後,我個電話聯絡人終於回復番有相片嘅狀態啦!