在本系列文章中,我们将深入介绍有关 Facebook API 的详细信息。我们将了解使用 API 需要进行哪些设置以及如何使 API 正常工作。所以,让我们跳过介绍,直接跳到 API 的细节。
Facebook 平台提供 2 套 API –
- 图 API
- 营销API
让我们首先从Graph API开始。
图 API 是访问手段的主要方式,在社交媒体 Facebook 社交图上读取和写入数据。我们将首先讨论 Graph API 的概述,进行设置,然后我们将最终看到如何使用 Graph API Explorer 在 Facebook Social Graph 上读取和写入数据。
Graph API 基本上由 3 个组件组成:
- 节点:这些是单独的对象,例如用户、页面、照片或评论。我们使用节点来收集有关单个对象的数据。
- 边缘:这些表示对象集合和单个对象之间的连接。边用于将单个对象发布到对象集合或获取连接到单个对象的对象集合。假设我们考虑张贴在个人 Facebook 个人资料上的照片。现在,与此照片关联的评论是指与我们的案例中的单个对象(即照片)关联的对象集合。
- 字段:这些表示有关对象的数据或信息。用户年龄、出生日期是与节点用户关联的字段示例。字段用于指定我们想要包含在响应中的数据。
由于 Graph API 是基于 HTTP 的,因此它适用于任何具有基于 HTTP 的库的语言,如 curl、urllib 等。所有请求都传递到graph.facebook.com
主机 URL 。例外是使用 URL: graph-video.facebook.com
视频上传。
由于节点是 Facebook 上的单个对象。所以每个节点都有一个关联的唯一 ID。每个用户、页面或照片都有一个与之关联的唯一 ID。在继续之前,让我们首先讨论访问令牌以及如何生成一个用于从 Facebook 社交图谱查询数据的令牌。
这里的访问令牌主要有两个目的:
- 它允许应用程序访问用户的数据,而无需用户的凭据。
- 它允许服务器识别谁在使用该应用程序,并相应地确定允许用户执行哪些功能。
访问令牌符合OAuth 2.0 Protocol
。这意味着访问令牌实现了身份验证和授权,正如我们在上一篇文章中所讨论的。
在这里,我们有 4 种类型的访问令牌:
- 用户访问令牌:这是最常用的访问令牌,当应用程序调用 API 以读取、修改或写入特定人员 Facebook 页面上的数据时需要。这是通过登录对话框实现的,其中需要一个人允许应用程序获取访问令牌
- 应用程序访问令牌:此令牌是使用服务器到服务器调用获得的。此令牌用于读取、修改应用程序设置。
- 页面访问令牌:获得用户访问令牌后,您可以通过图谱 API 获取页面访问令牌。过程很简单,首先获取User Access Token,然后请求manage_posts权限。您将获得页面访问令牌。此令牌与用户访问令牌非常相似,不同之处在于它向 API 提供读取、修改或将数据写入 Facebook 页面的权限。
- 客户端令牌:客户端令牌是一种标识符,可以嵌入到本机移动二进制文件或桌面应用程序中。它用于访问应用程序级 API。
按照以下步骤生成访问令牌:
- 转到 Facebook Developers 链接,在最右侧您会找到“登录”选项。如果您不是现有客户,请单击“登录”选项创建新帐户,然后单击“登录”按钮下方出现的“创建新帐户”按钮。
- 成功登录或成功创建帐户后,您将在登录位置看到带有“我的应用程序”选项的前一个屏幕。
- 转到最右上角的“我的应用程序”下拉菜单,然后选择“添加新应用程序”。输入显示名称和联系电子邮件,然后单击“创建应用程序 ID”。
- 输入所需信息后,您将看到您的 Facebook 开发者帐户的主屏幕,顶部提到了 App ID。
- 单击“工具”下拉菜单,然后从列表中单击第一个选项,即“Graph API Explorer”选项。
- 在 Graph API Explorer 窗口中,单击“Get Token”按钮。从下拉列表中,单击“获取用户访问令牌”。
- 单击“获取用户访问令牌”后,您将获得一个庞大的用户权限列表,分为 3 类:用户数据权限、事件、组和页面以及其他权限。您可以跳过不需要的权限。进行选择后,单击“获取访问令牌”。您将看到一个用于登录审核的屏幕。
- 成功完成上述步骤后,您将获得您的用户访问令牌。
- 现在再次单击同一页面上的“工具”下拉菜单,这次单击第二个选项“访问令牌调试器”。
注意:在点击 Access Token Debugger Option 之前,复制上一步生成的 User Access Token。 - 现在将用户访问令牌粘贴到对话框中,说明输入访问令牌进行调试,然后单击“调试”按钮。
- 单击调试选项后,您将看到有关您的用户访问令牌的一些信息。在这些详细信息下方,有一个“扩展访问令牌”选项。单击此按钮。您将被要求输入您的 Facebook 登录密码,您就完成了!!!。即将在 2 小时内到期的令牌的寿命将增加到 2 个月。此额外步骤可确保您的访问令牌不会每 2 小时过期一次。
在下一篇文章中,我们将讨论如何使用用户访问令牌从 Facebook 社交图谱访问不同类型的信息。
参考:
- https://developers.facebook.com/docs/facebook-login/access-tokens
- https://developers.facebook.com/docs/graph-api/overview/