裝置分享功能

此端點已於 2020 年 11 月 2 日停用。

透過「裝置分享功能」,用戶可以輕鬆地從裝置將內容分享至 Facebook。這些裝置包括智慧型電視、數位相框或物聯網裝置。

使用裝置分享時,您的裝置會顯示出英數代碼,要求用戶在桌上型電腦或智慧型手機的網頁上輸入。然後,使用您的應用程式或服務的用戶可以透過與代碼相關聯的「分享」對話方塊,將內容分享至 Facebook。

如果您要組建適用於 Apple TV 或 Android 裝置的應用程式,分別應使用 tvOS SDKAndroid SDK

本指南說明內容如下:

用戶體驗

1.行動呼籲

首先思考您想要在用戶體驗的那個部分要求用戶分享內容到 Facebook。為確保最佳體驗,請儘量將按鈕設計成類似官方的「Facebook 分享」按鈕。一般而言,按鈕應位於所要分享的內容旁邊。

從視覺設計觀點來看,這表示您應該

  1. 將按鈕標記為「分享」或「分享至 Facebook」。
  2. 使用白色和官方 Facebook 品牌藍色:#3B5998。
  3. 如果您的裝置支援圖形顯示,您也可以納入官方「f」標誌。根據 Facebook 品牌指南,標誌應該一律為白色或是 Facebook 藍色(#3B5998)。

2.顯示代碼

用戶點擊行動呼籲時,您的裝置會發出呼叫至 Facebook 的 API,然後該 API 會傳回代碼。

您的介面會顯示下列訊息,告知用戶需要造訪網站並輸入代碼:「接著,請在您的桌上型電腦或智慧型手機上造訪 facebook.com/device(http://facebook.com/device),並輸入此代碼」。顯示您從 Facebook 裝置分享 API 收到的完整代碼。此代碼長度介於 6 到 12 個字元之間。

加入 CloseDone 按鈕,讓用戶可以完成「裝置分享」流程。

3.分享

這是用戶在桌上型電腦或行動瀏覽器上前往 facebook.com/device 時所看到的流程。首先用戶會看到可輸入代碼的文字欄位:

用戶輸入代碼並點擊 Continue 後,會看到「分享」對話方塊:

這樣用戶會知道其分享成功,接著會看到確認訊息:

實作「裝置分享功能」

Facebook 的「裝置分享功能」適用於可以透過網路進行 HTTP 呼叫的裝置。以下是您的裝置可以進行的 API 呼叫和回應。

1.啟用裝置登入

載入您的應用程式主控板,然後將「設定」>「進階」>「OAuth 設定」>「使用裝置登入」變更為「是」。

2.產生代碼

當用戶點擊 Share 行動呼籲時,您的裝置應該會發出 HTTP POST 至:

POST https://graph.facebook.com/device/share
       access_token=<APPID|CLIENT_TOKEN>
       href=<LINK_TO_SHARE>

您可以在「應用程式設定」->「進階」中找到 CLIENT_TOKEN,應將其與應用程式編號結合(以直立線符號 | 分隔),形成完整的 access_token

如果您想要分享「開放社交關係圖動態」(操作方式與「分享」對話方塊中的「開放社交關係圖動作」相同),此 API 也支援 action_typeaction_properties 來取代 href

此 API 同時支援 quotehashtag 參數(與「分享」對話方塊參數的操作方式相同)。

回應形式如下:

{
  "user_code": "A1NWZ9",
  "verification_uri": "https://www.facebook.com/device",
  "expires_in": 420,
}

這個回應代表:

  1. 在您的裝置顯示「A1NWZ9」字串。
  2. 要求用戶前往「facebook.com/device」並輸入這個代碼。
  3. 這個代碼將在 420 秒後過期。您應在該時間之後關閉代碼顯示。

3.顯示代碼

您的裝置應該顯示 user_code,並告知用戶在電腦或智慧型手機上造訪 verification_uri,例如 facebook.com/device。請參閱用戶體驗

疑難排解

我可以透過 HTTP 提出裝置流程要求嗎?
包含權杖的圖形 API 需要 TLS/HTTPS。

我可以透過 GET 方法提出裝置流程要求嗎?
所有裝置流程要求應該都是 POST 要求。

我可以知道用戶何時完成分享嗎?
不可以。

我可以透過程式設計方式代表用戶發佈貼文嗎?
不可以。若要這麼做,您必須要求使用者登入並授予您代表他們發佈貼文的權限。請參閱使用圖形 API 進行發佈以瞭解詳情。