导入
账户、角色与发布新文章
学习如何获取用户的页面和角色,以及如何在页面上发布帖子。

一个 Facebook 页面
代码示例
1https://graph.facebook.com/v16.0/{user_id}/accounts
请求参数
| 参数 | 类型 | 类别 | 描述 |
|---|---|---|---|
| access_token | 字符串 | 必填 | 应用认证和授权后获得的令牌。 |
| user_id | 字符串 | 必填 | 用户的 ID。注意,这是路径参数。 |
| limit | 字符串 | 可选 | 指定响应中希望返回的最大结果数量。 |
| fields | 字符串 | 可选 | 指定 API 调用返回中需要包含的字段。 |
1// 导入库 2import fetch from "node-fetch" 3 4// 定义接口地址 5const endpointUrl = new URL("https://graph.facebook.com/v16.0/{{USER_ID}}/accounts"); 6 7const headerParameters = { 8 contentType: "application/json", 9}; 10 11// 设置 API 请求选项 12const options = { 13 method: "GET", 14 headers: headerParameters, 15}; 16 17// 定义查询参数 18const queryParameters = new URLSearchParams({ 19 access_token: '{{USER_ACCESS_TOKEN}}', 20 limit: '10' 21}); 22 23// 发起 API 请求的函数 24async function fetchUserAccounts() { 25 try { 26 endpointUrl.search = queryParameters; 27 const response = await fetch(endpointUrl, options); 28 // 输出响应 29 printResponse(response); 30 } catch (error) { 31 // 输出错误信息 32 printError(error); 33 } 34} 35 36// 调用函数发起请求 37fetchUserAccounts();
响应字段
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | 字符串 | 页面的唯一标识 ID。 |
| name | 字符串 | 页面的名称。 |
| access_token | 字符串 | 可用于代表该页面向 Graph API 发起请求的令牌,每个页面的令牌都是唯一的。 |
| category | 字符串 | 页面的类别(如“企业”、“政府”、“社区”)。 |
| tasks | 数组 | 用户在该页面上拥有的权限列表,可能值包括:ADMINISTER、EDIT_PROFILE、CREATE_CONTENT、MODERATE_CONTENT、CREATE_ADS、BASIC_ADMIN、MANAGE。 |
| picture | 对象 | 包含页面头像图片 URL 的对象。 |
| paging | 对象 | 用于分页的信息,包含 next 和 previous 字段,可用于获取下一页或上一页的数据。 |
| summary | 对象 | 包含总帖数(total_count)以及是否可点赞(can_like)等信息的摘要数据。 |
代码示例
1https://graph.facebook.com/v16.0/{page_id}/roles
请求参数
| 参数 | 类型 | 类别 | 描述 |
|---|---|---|---|
| access_token | 字符串 | 必填 | 在调用 user 对象的 accounts 边缘接口后返回的令牌。 |
| page_id | 字符串 | 必填 | 页面的 ID。注意,这是路径参数。 |
| limit | 字符串 | 可选 | 指定响应中希望返回的最大结果数量。 |
1// 导入库 2import fetch from "node-fetch" 3 4// 定义接口地址 5const endpointUrl = new URL("https://graph.facebook.com/v16.0/{{PAGE_ID}}/roles"); 6 7const headerParameters = { 8 contentType: "application/json", 9}; 10 11// 设置 API 请求选项 12const options = { 13 method: "GET", 14 headers: headerParameters, 15}; 16 17// 定义查询参数 18const queryParameters = new URLSearchParams({ 19 access_token: '{{PAGE_ACCESS_TOKEN}}', 20 limit: '10' 21}); 22 23// 发起 API 请求的函数 24async function fetchPageRoles() { 25 try { 26 endpointUrl.search = queryParameters; 27 const response = await fetch(endpointUrl, options); 28 // 输出响应 29 printResponse(response); 30 } catch (error) { 31 // 输出错误信息 32 printError(error); 33 } 34} 35 36// 调用函数发起请求 37fetchPageRoles();
响应字段
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | 字符串 | 拥有该角色的用户的 ID。 |
| name | 字符串 | 拥有该角色的用户的名称。 |
| tasks | 数组 | 用户在该页面上拥有的任务权限列表,可能值包括:ADMINISTER、EDIT_PROFILE、CREATE_CONTENT、MODERATE_CONTENT、CREATE_ADS、BASIC_ADMIN、MANAGE、ASSIGN_PAGE_ROLES。 |
| paging | 对象 | 用于分页的信息,包含 next 和 previous,可用于获取下一页或上一页的数据。 |
| summary | 对象 | 包含总数量(total_count)以及是否可点赞(can_like)等信息的摘要数据。 |
代码示例
1https://graph.facebook.com/v16.0/{page_id}/feed
请求参数
| 参数 | 类型 | 类别 | 描述 |
|---|---|---|---|
| access_token | 字符串 | 必填 | 在调用 user 对象的 accounts 边缘接口后返回的令牌。 |
| fields | 字符串 | 可选 | 指定 API 调用返回中需要包含的字段。 |
| page_id | 字符串 | 必填 | 页面的 ID。注意,这是路径参数。 |
| message | 字符串 | 可选 | 发布帖子的文字内容。如果发布纯文本帖子,则此参数为必填。 |
| link | 字符串 | 可选 | 帖子中要包含的链接 URL。若提供链接,则 message 参数可选。 |
| name | 字符串 | 可选 | 帖子中链接的标题名称。 |
| caption | 字符串 | 可选 | 帖子中链接的说明文字。 |
| description | 字符串 | 可选 | 帖子中链接的详细描述。 |
| published | 布尔值 | 可选 | 布尔值,表示是否立即发布帖子。设为 false 时,帖子将保存为草稿,默认为 true。 |
| scheduled_publish_time | 字符串 | 可选 | 指定帖子发布的具体时间,适用于未来发布时间。 |
1// 导入库 2import fetch from "node-fetch" 3 4// 定义接口地址 5const endpointUrl = new URL("https://graph.facebook.com/v16.0/{{PAGE_ID}}/feed"); 6 7const headerParameters = { 8 contentType: "application/json", 9}; 10 11// 设置 API 请求选项 12const options = { 13 method: "POST", 14 headers: headerParameters, 15}; 16 17// 定义查询参数 18const queryParameters = new URLSearchParams({ 19 access_token: '{{PAGE_ACCESS_TOKEN}}', 20 message: '这是一个测试消息', 21 fields: 'id,created_time' 22}); 23 24// 发起 API 请求的函数 25async function publishNewPost() { 26 try { 27 endpointUrl.search = queryParameters; 28 const response = await fetch(endpointUrl, options); 29 // 输出响应 30 printResponse(response); 31 } catch (error) { 32 // 输出错误信息 33 printError(error); 34 } 35} 36 37// 调用函数发起请求 38publishNewPost();
响应字段
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | 字符串 | 帖子的唯一标识 ID。 |
| created_time | 字符串 | 帖子创建的时间,格式为 ISO 8601。 |