小组

路径 /{group-id}

代表 Workplace 小组。/{group-id} 节点会返回单个小组。

公司间合作小组

在使用公司间合作小组时,应考虑以下特定因素:

  • 公司间合作小组的成员公司内安装的所有集成应用均能读取小组内容
  • 公司间合作小组与常规小组一样被列为社群或小组
    • purpose 字段可用于识别公司间合作小组。此值将被设置为 WORK_MULTI_COMPANY
  • 也可查询小组成员,但是如果应用并非来自用户所属公司,则只能看到 idname 以及 picture
  • 管理小组权限集成可以添加及移除公司间合作小组成员
    • 集成可以添加及移除的用户仅限于安装该集成的社群的成员
    • 仅当有小组管理员是安装集成的社群的成员时,该集成才能添加及移除用户
  • 如果符合以下任意一种情况,与管理小组内容权限集成可以删除公司间合作小组中包含的内容:
    • 内容属于某位应用社群成员;或者
    • 某位应用社群成员是小组管理员
  • 目前不支持在公司间合作小组中发布内容
  • 可以在集成的小组范围设置中选择公司间合作小组
  • 无法在公司间合作小组中提及智能助手

读取

您可以向 /{group-id} 发送图谱 API GET 请求,了解小组相关信息。

权限

如要读取小组节点,需要拥有读取小组内容权限。

字段

字段名称描述数据类型

id

小组编号。

string

cover

有关小组封面照片的信息。

CoverPhoto

cover_url

包含小组封面照片所用图片的网址。

string

description

对小组的简要说明。

string

icon

小组图标的网址。

url

is_workplace_default

表明小组是否是默认 Workplace 小组(只读)。

boolean

is_community

表明小组是否也是一个社群,以及能否包含其他小组(只读)。

boolean

name

小组名称。

string

owner

创建此小组的成员

User

privacy

小组的隐私设置。可能的值:

  • CLOSED
  • OPEN
  • SECRET

string

updated_time

上一次更新小组的时间。更新内容包括对小组属性、帖子和评论内容作出的修改。

datetime

archived

表明小组是否已归档。

boolean

post_requires_admin_approval

表明在小组中发布帖子是否需要管理员审核。

boolean

purpose

表明小组的用途

enum {WORK_ANNOUNCEMENT, WORK_FEEDBACK, WORK_TEAMWORK, WORK_SOCIAL, WORK_MULTI_COMPANY}


已停用:WORK_FOR_SALE, WORK_TEAM

post_permissions

表明帖子是否需要管理员审核。

enum {NONE, ADMIN_ONLY}

join_setting

表明新成员加入小组的方式。

enum {NONE, ANYONE, ADMIN_ONLY}

sorting_setting

表明 /feed 连线返回的帖子顺序,默认为 CHRONOLOGICAL

enum {RECENT_ACTIVITY, CHRONOLOGICAL}

is_official_group

表明小组是否为官方 Workplace 小组。官方小组图标将出现在官方小组产品名称旁边。

boolean

发布

您无法使用此连线发布。如要创建小组,请将其发布至 /community/groups 连线。

删除

您无法使用此节点删除小组。如果移除最后一位小组成员,系统会自动删除该小组。

更新

如要更新小组,可以向 /{group-id} 发送图谱 API POST 请求,并在请求正文中传递要更新的字段的值。

权限

如要更新小组节点,需要拥有管理小组权限。

连线

连线名称描述

/admins

Workplace 小组的管理员。支持在 Workplace 中添加或删除管理员。请参阅下文提供的示例。

/albums

Workplace 小组中的相册。

/auto_membership_rules

自动将成员添加到小组的规则。

/docs

Workplace 小组中的文档。

/events

Workplace 小组中的事件。

/feed

Workplace 小组中的帖子,系统将其整理为动态。

/files

在 Workplace 小组中分享的文件。

/member_requests

启用成员加入审核功能的小组的待处理成员加入请求。

/members

Workplace 小组的成员。此连线会公开:

  • administrator:该用户为小组管理员时显示
  • joined:该用户已加入小组时显示
  • moderator:该用户为小组版主时显示
  • added_by:显示将该用户添加到小组的用户

/moderators

Workplace 小组的版主。

/pinned_posts

小组置顶帖

/groups

列出所有子小组(仅适用于同为社群的小组)

示例

获取小组编号、名称、归档状态以及隐私设置:

GET graph.facebook.com
  /{group-id}?fields=id,name,archived,privacy

将小组归档:

POST graph.facebook.com
  /{group-id}?archive=true

获取小组成员的名称、编号及加入日期:

GET graph.facebook.com
  /{group-id}/members?fields=name,id,joined

在单次调用中获取小组管理员和版主:

GET graph.facebook.com
  /{group-id}?fields=admins,moderators

获取小组文档:

GET graph.facebook.com
  /{group-id}/docs

获取小组帖子:

GET graph.facebook.com
  /{group-id}/feed

获取小组帖子(按最后一次更新时间排序):

GET graph.facebook.com
  /{group-id}/feed?sorting_setting=RECENT_ACTIVITY

参数

sorting_setting

如果将该参数设置为 RECENT_ACTIVITY,则可以按照帖子最后一次更新的时间(而不是创建时间)排序。通过将 CHRONOLOGICAL 用作值,可以明确设置默认行为。更新可能包括编辑帖子以及添加评论或心情。

获取包含视频、图片、文件或投票等额外附件的帖子:

GET graph.facebook.com
  /{group-id}/feed?fields=attachments

系统将根据每个选项获得的投票数,以降序排序的方式列出投票选项。

获取小组成员(包含其加入日期)列表:

GET graph.facebook.com
  /{group-id}/members?fields=name,joined

通过编号添加小组成员:

POST graph.facebook.com
  /{group-id}/members/{member-id}

通过邮箱添加小组成员:

POST graph.facebook.com
  /{group-id}/members?email=michael%40example.com

如果请求网址中包含邮箱地址,请确保邮箱地址经过网址编码。示例:将 michael@example.com 改为 michael%40example.com

如果移除最后一位小组成员,系统会删除该小组。

通过编号移除小组成员:

DELETE graph.facebook.com
  /{group-id}/members/{member-id}

通过邮箱移除小组成员:

DELETE graph.facebook.com
  /{group-id}/members?email=michael%40example.com

如果请求网址中包含邮箱地址,请确保邮箱地址经过网址编码。示例:将 michael@example.com 改为 michael%40example.com

将成员升级为小组管理员:

POST graph.facebook.com
  /{group-id}/admins/{user-id}

将小组管理员降级为成员:

DELETE graph.facebook.com
  /{group-id}/admins/{user-id}

创建新的小组事件:

POST graph.facebook.com
  /{group-id}/events
  ?name=New+Event
  &start_time=2017-03-02T14:00:04+00:00
  &end_time=2017-03-02T15:00:04+00:00
  &description=Test+Description
  &location=Boardroom

在小组中上传(以二进制方式)新的相片:

POST graph.facebook.com
  /{group-id}/photos?source={image-data}

在小组中上传(通过网址)新的相片:

POST graph.facebook.com
  /{group-id}/photos?url={image-data}

创建包含图片或视频附件的小组帖子:

POST graph.facebook.com
  /{group-id}/feed?attached_media=[{"media_fbid":"{photo-id}"},{"media_fbid":"{photo-id}"}]

参数

attached_media

适用于图片和视频,包含被大括号括起的 media_fbids 数组。支持以下图片格式:.jpeg、.bmp、.png、.gif、.tiff。如需获取有关图片格式的更多信息,请点击此处。如需了解支持的视频文件,请点击此处。如要获取图片的 media_fbids,请先将未经发布的图片发布至 https://graph.facebook.com/me/photos(如此处文档所述)。如要获取视频(包括 GIF 动画)的 media_fbids,请先将视频发布至 https://graph.facebook.com/me/videos?no_story=true

在用户使用您的应用上传视频时,系统会在用户的个人主页自动生成动态,而通过将 no_story 参数设置为 true,可以避免生成此类动态。

创建包含文件附件的小组帖子:

POST graph.facebook.com
  /{group-id}/feed?files=[{file-id},{file-id}]

参数

files

适用于文件,包含 file_ids 数组(请注意,该数组并未被大括号括起)。目前不支持文件版本管理。如要更新文件,请将原始文件从帖子附件中移除,然后重新上传新的文件附件。支持以下文件格式:

  • 文档:.pdf、.csv、.tsv、.docx、.pptx、.xlsx
  • 图片:.jpeg、.png
  • 视频:.mp4
  • 存档:.rar、.zip

如要获取 file_ids,请先将文件发布至 https://graph.facebook.com/group_file_revisions。您可以在本地发布来自您的电脑的源文件。

您无法在一个 API 调用中同时使用 attached_mediafiles。这与可在小组编辑框中完成的行为相似,在小组编辑框中有两个单独的选项,分别用于上传“照片/视频”与“文件”。

更新帖子权限、加入设置、用途以及帖子审核设置

POST graph.facebook.com
  /{group-id}/?post_permissions=NONE&join_setting=ADMIN_ONLY&purpose=WORK_SOCIAL&post_requires_admin_approval=false

获取针对置顶帖子的心情及评论

GET graph.facebook.com
  /{group-id}/pinned_posts?fields=reactions,comments

识别小组是否也是社群

GET graph.facebook.com
  /{group-id}?fields=is_community

获取小组的成员规则

GET graph.facebook.com
  /{group-id}/auto_membership_rules

响应示例 (JSON):

{
  "data": [
    {
      "conditions": [
        {
          "field": "TITLE",
          "operator": "CONTAINS",
          "values": [
            "sales"
          ]
        }
      ],
      "id": RULE_ID
    }
  ],
  ...
}

删除小组的自动成员规则

DELETE graph.facebook.com
  /RULE_ID

为小组应用成员规则

POST graph.facebook.com
  /{group-id}/auto_membership_rules

有效负载示例

{
    "conditions": [
        {
            "field": "LOCATION",
            "operator": "CONTAINS",
            "values": ["London", "San Francisco"]
        }
    ]
  }

如果出错,此 API 调用可能会为小组添加数千名用户,因此使用时请务必小心,并且在执行 API 调用前仔细确认。

获取小组编号和官方小组状态:

GET graph.facebook.com
  /{group-id}?fields=id,is_official_group

更新官方小组状态:

POST graph.facebook.com
  /{group-id?is_official_group={FALSE | TRUE}