裝置分享

此端點已於 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,待後者傳回代碼。

您的介面上應展示以下訊息,告訴用戶需要前往網站並輸入代碼:「接下來,在桌面電腦或智能手機上前往 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 提出裝置流程要求?
您需要就有憑證的 Graph API 使用 TLS/HTTPS。

能否透過 GET 方法提出裝置流程要求?
所有裝置流程要求都應是 POST 要求。

能否在用戶完成分享動作時通知用戶?
不能。

能否以程式輔助的方式代用戶發佈內容?
不能。若要代用戶發佈內容,您必須要求用戶登入,並授權您限代其發佈內容。請參閱以 Graph API 發佈內容以了解詳情。