close

這篇將介紹Facebook 網頁專用SDK種類以及解析互動授權流程以及SDK的選定。

首先,要先了解Facebook提供給使用者的網頁專用SDK一共有三個種類:

Javascript SDK、PHP SDK以及第三方SDK。

Facebook JavaScript SDK 提供了豐富的用戶端功能,包括 Facebook 登入、API 存取和社交外掛程式。

Facebook PHP SDK 提供了豐富的伺服器端功能,可用於存取 Facebook 的伺服器端 API 呼叫。

第三方SDK是許多非官方的第三方 SDK 為其他語言和架構提供服務,這些都是由各大社群中活躍的開發人員所製作,如下圖。

有關這三種的詳細內容請參考 https://developers.facebook.com/docs/web

2.JPG

我個人在程式化過程中是將需要使用者互動部份交由JavaScript SDK來進行,

其它部份則是由伺服器語言負責,

如果你是使用PHP來撰寫的,

可以使用官方提供的PHP SDK來撰寫其功能,

而我因為是使用JSP進行開發,

故我選擇第三方SDK→Java→Mark Allen 開發的 RestFB

使用 RestFB的原因在於較貼近我的使用習慣,

官網文件GitHub上都有介紹使用的方式,

推薦給用Java開發的使用者,

後面篇章我再簡單介紹RestFB的使用範例。

 

接著我們要先談談FB的授權流程,了解其中的觀念後才能決定如何規劃及劃分程式的運作。

下圖是上一篇圖形API測試工具的介紹與官方授權流程圖的結合,

右紅框提到使用者是經由SDK的互動框架來進行授權,

授權過程經由使用者同意後即可獲得短期的權杖,

左紅框的圖是對應右紅框內容的授權互動畫面,圖是"圖形API測試工具的介紹"操作的過程。

正好互動部份的流程偏向前端處理,可以利用Facebook Javascript SDK來完成前端部分。

右紅框下方區塊提到Graph API來完成轉換長期權帳問題,

因我們不再使用圖形工具測試了,可以考慮用後端程式來進行,

Facebook Javascript SDK也有語法提供交換,但我是用Java撰寫。 

1.JPG

(上圖右區塊圖形來源自 https://developers.facebook.com/docs/facebook-login/access-tokens/portability )

 

再者從使用者、伺服器端以及Facebook來看其流程,如下圖。

包含下圖紅框2以前的步驟跟上圖的右紅框流程是一致的,

紅框1中必須提供app id和密碼以及第一篇"應用程式基本設定"所設定的網域來進行應用程式的對應,

交換完的短期權杖會在紅框2中送出交換長期權杖的要求,

其交換的方式Facebook Javascript SDK、PHP或Java皆可作到。

後面篇章會以Java實例進行,

Facebook Javascript SDK可以參考 https://developers.facebook.com/docs/facebook-login/access-tokens/refreshing/#generate-long-lived-token

3.JPG

(上圖圖形來源自 https://developers.facebook.com/docs/facebook-login/access-tokens/portability )

 

以上是我從流程圖轉換成程式實現的思路歷程,

提供給大家參考。

 

 

arrow
arrow

    sherineong 發表在 痞客邦 留言(0) 人氣()