Grupo

Caminho /{group-id}

Representa um grupo do Workplace. O nó /{group-id} retorna um único grupo.

Grupos multiempresariais

Há algumas considerações que devem ser levadas em conta ao acessar grupos multiempresariais:

  • O conteúdo do grupo pode ser lido por qualquer app de integração instalado em uma empresa que faz parte de um grupo multiempresarial.
  • Os grupos multiempresariais são listados em comunidades ou grupos, com os grupos comuns.
    • O campo purpose pode ser usado para identificar os grupos multiempresariais. Esse valor deve ser configurado como WORK_MULTI_COMPANY.
  • Os membros do grupo podem ser consultados, mas apenas os campos id, name e picture serão visíveis quando o app for de uma empresa diferente da empresa do usuário.
  • As integrações com a permissão Gerenciar grupo podem adicionar ou remover membros de grupos multiempresariais.
    • Uma integração só pode adicionar ou remover usuários que são membros da comunidade em que a integração foi instalada.
    • Uma integração só pode adicionar ou remover usuários quando um dos administradores do grupo é membro da comunidade em que a integração foi instalada.
  • Uma integração com a permissão Gerenciar o conteúdo do grupo pode excluir o conteúdo de um grupo multiempresarial nos seguintes casos:
    • O conteúdo pertença a um membro da comunidade do app
    • Um membro da comunidade do app seja um administrador do grupo
  • A publicação em grupos multiempresariais está indisponível no momento.
  • Os grupos multiempresariais podem ser selecionados nas configurações de escopo do grupo para integrações.
  • Os bots não podem ser mencionados nos grupos multiempresariais.

Leitura

É possível ler informações sobre um grupo fazendo uma solicitação GET da Graph API à /{group-id}.

Permissões

A leitura do nó Grupo requer a permissão Ler o conteúdo do grupo.

Campos

Nome do campoDescriçãoTipo de dados

id

O ID do grupo.

string

cover

Informações sobre a foto da capa do grupo.

CoverPhoto

cover_url

Uma URL com a imagem da foto de capa do grupo.

string

description

Uma breve descrição do grupo.

string

icon

A URL do ícone do grupo.

url

is_workplace_default

Indica se é um grupo padrão do Workplace (somente leitura).

boolean

is_community

Indica se o grupo também é uma comunidade e pode conter outros grupos (somente leitura).

boolean

name

O nome do grupo.

string

owner

O membro que criou o grupo.

User

privacy

A configuração de privacidade do grupo. Valores possíveis:

  • CLOSED
  • OPEN
  • SECRET

string

updated_time

A última vez que o grupo foi atualizado. Isso inclui alterações nas propriedades, nas publicações e nos comentários do grupo.

datetime

archived

Indica se o grupo foi arquivado.

boolean

post_requires_admin_approval

Indica se as publicações no grupo precisam de aprovação do administrador.

boolean

purpose

Indica a finalidade do grupo.

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


Obsoleto: WORK_FOR_SALE, WORK_TEAM

post_permissions

Indica se uma publicação requer aprovação do administrador.

enum {NONE, ADMIN_ONLY}

join_setting

Indica como novos membros podem participar do grupo.

enum {NONE, ANYONE, ADMIN_ONLY}

sorting_setting

Indica a ordem das publicações retornadas nas bordas /feed. O padrão é CHRONOLOGICAL.

enum {RECENT_ACTIVITY, CHRONOLOGICAL}

is_official_group

Indica se é um grupo oficial do Workplace. Um ícone de grupo oficial aparecerá ao lado do nome do grupo no produto.

boolean

Publicação

Não é possível publicar com essa borda. Para criar um grupo, publique na borda /community/groups.

Exclusão

Não é possível excluir um grupo com esse nó. O grupo será excluído automaticamente se o último membro for removido.

Atualização

É possível atualizar um grupo fazendo uma solicitação POST da Graph API para /{group-id} e passando os valores dos campos a serem atualizados no corpo da solicitação.

Permissões

Para atualizar um nó de grupo, é necessário ter a permissão Gerenciar grupos.

Bordas

Nome da bordaDescrição

/admins

Os administradores de um grupo do Workplace. Adição e exclusão de administradores compatíveis com o Workplace. Consulte os exemplos abaixo.

/albums

Os álbuns de fotos em um grupo do Workplace.

/auto_membership_rules

As regras para adicionar membros automaticamente a um grupo.

/docs

Os documentos em um grupo do Workplace.

/events

Os eventos em um grupo do Workplace.

/feed

As publicações em um grupo do Workplace, organizadas em um feed.

/files

Os arquivos compartilhados em um grupo do Workplace.

/member_requests

As solicitações de entrada pendentes de grupos que têm a aprovação de membros habilitada.

/members

Os membros de um grupo do Workplace. Essa borda expõe o seguinte:

  • administrator: exibido se a pessoa é um administrador do grupo.
  • joined: exibido quando o usuário entra no grupo.
  • moderator: exibido se a pessoa é um moderador do grupo.
  • added_by: exibe a pessoa que adicionou esse usuário ao grupo.

/moderators

Os moderadores de um grupo do Workplace.

/pinned_posts

A publicação fixada no grupo.

/groups

Lista dos grupos derivados (aplicável apenas a grupos que também são comunidades).

Exemplos

Obter ID do grupo, nome, status do arquivo e privacidade:

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

Arquivar um grupo:

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

Obter membros do grupo com nome, ID e data de entrada:

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

Obter os moderadores e administradores de um grupo em uma única chamada:

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

Obter documentos do grupo:

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

Obter publicações do grupo:

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

Obter publicações do grupo começando pelas últimas atualizadas:

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

Parâmetros

sorting_setting

Quando definido como RECENT_ACTIVITY, permite ordenar as publicações de acordo com a última atualização, em vez da criação. O comportamento-padrão pode ser configurado explicitamente usando CHRONOLOGICAL como valor. As atualizações podem incluir edições à publicação, bem como comentários ou reações adicionados.

Obter publicações do grupo incluindo anexos adicionais, como vídeos, imagens, arquivos ou enquetes:

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

As opções de enquete são listadas em ordem descendente conforme a contagem de votos de cada opção.

Obter uma lista de membros do grupo e as respectivas datas de entrada:

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

Adicionar um membro a um grupo por ID:

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

Adicionar um membro a um grupo por email:

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

Ao incluir endereços de email na URL de uma solicitação, verifique se eles estão codificados em URL. Exemplo: michael@example.com se torna michael%40example.com.

A exclusão de um grupo será agendada se o seu último membro for removido.

Remover um membro de um grupo por ID:

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

Remover um membro de um grupo por email:

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

Ao incluir endereços de email na URL de uma solicitação, verifique se eles estão codificados em URL. Exemplo: michael@example.com se torna michael%40example.com.

Promover um membro a administrador do grupo:

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

Rebaixar um administrador a membro do grupo:

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

Criar um novo evento em um grupo:

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

Carregar uma nova foto (via binário) em um grupo:

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

Carregar uma nova foto (via URL) em um grupo:

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

Criar publicações de grupo com anexos de vídeo e imagem:

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

Parâmetros

attached_media

Usado para fotos e vídeo, uma matriz de media_fbids entre chaves. Estes são os formatos de imagem compatíveis: .jpeg, .bmp, .png, .gif, .tiff. Para mais informações sobre formatos de imagem, acesse aqui. Para ver os arquivos de vídeo compatíveis, acesse aqui. Para obter media_fbids para as imagens, publique fotos não publicadas primeiro em https://graph.facebook.com/me/photos, conforme descrito na documentação aqui. Para obter media_fbids para vídeos (incluindo GIFs animados), publique vídeos primeiro em https://graph.facebook.com/me/videos?no_story=true.

Definir o parâmetro no_story como verdadeiro omite a história do feed que é gerada automaticamente no perfil de um usuário quando ele carrega um vídeo usando o seu app.

Criar publicações de grupo com arquivos de anexo:

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

Parâmetros

files

Usado para arquivos, uma matriz de file_ids (sem chaves). No momento, as versões de arquivo não são compatíveis. Para atualizar arquivos, remova o original dos anexos da publicação e carregue um novo arquivo de anexo. Estes são os formatos de arquivo compatíveis:

  • Documentos: .pdf, .csv, .tsv, .docx, .pptx, .xlsx
  • Imagens: .jpeg, .png
  • Vídeos: .mp4
  • Arquivos: .rar, .zip

Para obter file_ids, publique arquivos primeiro em https://graph.facebook.com/group_file_revisions. É possível publicar arquivos de origem localmente do seu computador.

Não é possível combinar os parâmetros attached_media e files em uma chamada de API. Isso imita o comportamento no criador de grupos, que tem opções separadas para carregar fotos/vídeos e arquivos.

Atualizar as configurações de aprovação de publicação, as configurações de finalidade e de participação, bem como as permissões de publicação

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

Obter reações e comentários de publicações fixadas

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

Identificar se um grupo também é uma comunidade

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

Obter as regras dos membros de um grupo

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

Exemplo de Resposta (JSON):

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

Excluir uma regra de participação automática de um grupo

DELETE graph.facebook.com
  /RULE_ID

Aplicar uma regra de participação a um grupo

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

Exemplo de carga:

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

Essa API pode adicionar milhares de usuários a um grupo se um erro for cometido. Por isso, é importante usá-la com cuidado e conferir as informações antes de executar a chamada de API.

Obter o ID do grupo e o status do grupo oficial:

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

Atualizar o status do grupo oficial:

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