设备分享

通过设备分享功能,用户可以轻松将内容从设备分享到 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 提出设备流程请求?
带口令的图谱 API 需要 TLS/HTTPS。

能否通过 GET 方法提出设备流程请求?
所有设备流程请求都应是 POST 请求。

我能知道用户何时完成分享吗?
不能。

我能以编程方式代表用户发布内容吗?
不能。如果要实现此功能,您必须要求用户登录并获取代表他们发布的权限。参阅使用图谱 API 发布了解更多信息。