Grupo

Nodo /{group-id} de la ruta

Representa un grupo de Workplace. El nodo /{group-id} devuelve un único grupo.

Grupos de varias empresas

Existen consideraciones específicas que deben tenerse en cuenta al acceder a grupos de varias empresas:

  • Cualquier aplicación de integración instalada en una empresa que forme parte de un grupo de varias empresas puede leer el contenido del grupo.
  • Los grupos de varias empresas se enumeran en comunidades o grupos junto a grupos regulares.
    • El campo de finalidad se puede utilizar para identificar grupos de varias empresas. Este valor debe establecerse en WORK_MULTI_COMPANY.
  • También se puede consultar a los miembros del grupo, pero solo los objetos id, name y picture serán visibles si una aplicación es de una empresa diferente a la del usuario.
  • Las integraciones con el permiso Administrar grupo pueden añadir o eliminar miembros de grupos de varias empresas.
    • Las integraciones solo pueden añadir y eliminar usuarios que son miembros de la comunidad en la que están instaladas.
    • Las integraciones solo pueden añadir y eliminar usuarios si uno de los administradores del grupo es miembro de la comunidad en la que están instaladas.
  • Una integración con el permiso Administrar contenido del grupo puede eliminar contenido incluido en un grupo de varias empresas si se da una de las condiciones siguientes:
    • El contenido pertenece a un miembro de la comunidad de la aplicación.
    • Un miembro de la comunidad de la aplicación es un administrador del grupo.
  • La publicación en grupos de varias empresas no está disponible actualmente.
  • Los grupos de varias empresas se pueden seleccionar en la configuración de análisis del grupo para las integraciones.
  • Los bots no se pueden mencionar en grupos de varias empresas.

Lectura

Para leer información sobre un grupo, puedes realizar una solicitud GET de la API Graph a /{group-id}.

Permisos

La lectura del nodo de grupo requiere el permiso Leer contenido del grupo.

Campos

Nombre del campoDescripciónTipo de datos

id

Identificador del grupo.

string

cover

Información sobre la foto de portada del grupo.

CoverPhoto

cover_url

URL que contiene una imagen de la foto de portada del grupo.

string

description

Breve descripción del grupo.

string

icon

URL del icono del grupo.

url

is_workplace_default

Indica si el grupo es un grupo de Workplace predeterminado (de solo lectura).

boolean

is_community

Indica si el grupo también es una comunidad y puede contener otros grupos (de solo lectura).

boolean

name

Nombre del grupo.

string

owner

Miembro que creó este grupo.

User

privacy

Configuración de privacidad del grupo. Valores posibles:

  • CLOSED
  • OPEN
  • SECRET

string

updated_time

Hora de la última actualización del grupo. Incluye los cambios en las propiedades del grupo, así como los cambios en las publicaciones y los comentarios.

datetime

archived

Indica si el grupo estaba archivado.

boolean

post_requires_admin_approval

Indica si las publicaciones en el grupo requerirán la aprobación del administrador.

boolean

purpose

Indica la finalidad del grupo.

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


Retiradas: WORK_FOR_SALE, WORK_TEAM

post_permissions

Indica si una publicación requiere la aprobación del administrador.

enum {NONE, ADMIN_ONLY}

join_setting

Indica cómo pueden unirse al grupo los miembros nuevos.

enum {NONE, ANYONE, ADMIN_ONLY}

sorting_setting

Indica el orden de las publicaciones devueltas para los perímetros /feed; se establece en CHRONOLOGICAL de forma predeterminada.

enum {RECENT_ACTIVITY, CHRONOLOGICAL}

is_official_group

Indica si el grupo es un grupo de Workplace oficial. Aparecerá un icono de grupo oficial junto al nombre del grupo oficial en el producto.

boolean

Publicación

No puedes realizar la publicación mediante este perímetro. Para crear un grupo, realiza la publicación en el perímetro /community/groups.

Eliminación

No puedes eliminar un grupo mediante este nodo. Si suprimes el último miembro de un grupo, el grupo se eliminará automáticamente.

Actualización

Para actualizar un grupo, puedes realizar una solicitud POST de la API Graph a /{group-id} y pasar los valores de los campos para que se actualicen en el cuerpo de la solicitud.

Permisos

Para realizar actualizaciones en un nodo de grupo, se requiere el permiso Administrar grupos.

Perímetros

Nombre del perímetroDescripción

/admins

Administradores de un grupo de Workplace. La adición y eliminación de administradores se admiten en Workplace. Consulta los ejemplos siguientes.

/albums

Álbumes de fotos en un grupo de Workplace.

/auto_membership_rules

Reglas para añadir miembros automáticamente a un grupo.

/docs

Documentos de un grupo de Workplace.

/events

Eventos de un grupo de Workplace.

/feed

Publicaciones de un grupo de Workplace, organizadas en una sección de noticias.

/files

Archivos compartidos en un grupo de Workplace.

/member_requests

Solicitudes de miembros pendientes de grupos que tienen las aprobaciones activadas para este tipo de solicitudes.

/members

Miembros de un grupo de Workplace. Este perímetro expone lo siguiente:

  • administrator: se muestra si la persona es un administrador del grupo.
  • joined: se muestra cuando el usuario se ha unido al grupo.
  • moderator: se muestra si la persona es un moderador del grupo.
  • added_by: muestra quién ha añadido el usuario al grupo.

/moderators

Moderadores de un grupo de Workplace.

/pinned_posts

Publicación fijada al grupo.

/groups

Enumera todos los subgrupos (solo es aplicable a grupos que también son comunidades).

Ejemplos

Obtener el identificador, el nombre, el estado de archivo y la privacidad de un grupo:

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

Archivar un grupo:

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

Obtener una lista de los miembros de un grupo con el nombre, el identificador y la fecha de unión:

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

Obtener una lista de los administradores y moderadores de un grupo en una sola llamada:

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

Obtener documentos de un grupo:

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

Obtener publicaciones de grupo:

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

Obtener publicaciones de grupo por orden de fecha de última actualización:

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

Parámetros

sorting_setting

Permite solicitar publicaciones por la hora de su última actualización y no por su creación al establecerlas en RECENT_ACTIVITY. El comportamiento predeterminado se puede establecer explícitamente utilizando CHRONOLOGICAL como valor. Las actualizaciones pueden incluir ediciones en la publicación, así como un comentario o una reacción que se ha añadido.

Obtener publicaciones de grupos, incluidos archivos adjuntos como vídeos, imágenes, archivos o encuestas:

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

Las opciones de las encuestas se muestran en orden descendente de acuerdo con el recuento de votos de cada opción.

Obtener una lista de los miembros del grupo junto con su fecha de unión:

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

Añadir un miembro a un grupo por el identificador:

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

Añadir un miembro a un grupo por el correo electrónico:

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

Al incluir direcciones de correo electrónico en la URL para una solicitud, asegúrate de que dichas direcciones estén codificadas en URL. Ejemplo: michael@example.com se convierte en michael%40example.com.

Si eliminas el último miembro de un grupo, se programará la eliminación de ese grupo.

Eliminar un miembro de un grupo por el identificador:

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

Eliminar un miembro de un grupo por el correo electrónico:

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

Al incluir direcciones de correo electrónico en la URL para una solicitud, asegúrate de que dichas direcciones estén codificadas en URL. Ejemplo: michael@example.com se convierte en michael%40example.com.

Promocionar a un miembro a administrador de un grupo:

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

Descender a un administrador a miembro de un grupo:

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

Crear un nuevo evento en un 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

Subir una nueva foto (a través de un binario) a un grupo:

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

Subir una nueva foto (a través de la URL) a un grupo:

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

Crear publicaciones de grupo con archivos adjuntos de imagen y vídeo:

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

Parámetros

attached_media

Se utiliza para fotos y vídeos; una matriz de media_fbids entre llaves. Admite los formatos de imagen siguientes: .jpeg, .bmp, .png, .gif y .tiff. Puedes encontrar más información sobre los formatos de imagen aquí. Los archivos de vídeo compatibles se pueden encontrar aquí. Para obtener el objeto media_fbids para las imágenes, primero publica fotos no publicadas en https://graph.facebook.com/me/photos, tal como se describe en la documentación que encontrarás aquí. Para obtener el objeto media_fbids para vídeos (incluidos GIF animados), primero publica vídeos en https://graph.facebook.com/me/videos?no_story=true.

Al establecer el parámetro no_story en “true”, se elimina la historia de la sección de noticias que se genera automáticamente en el perfil del usuario cuando este sube un vídeo mediante tu aplicación.

Crear publicaciones de grupo con archivos adjuntos:

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

Parámetros

files

Se utiliza para archivos; una matriz de file_ids (observa que no están entre llaves). El control de versiones de archivos no se admite actualmente. Para actualizar archivos, elimina el archivo original de los archivos adjuntos de la publicación y vuelve a subir un nuevo archivo adjunto. Admite los formatos de archivo siguientes:

  • Documentos: .pdf, .csv, .tsv, .docx, .pptx y .xlsx
  • Imágenes: .jpeg y .png
  • Vídeos: .mp4
  • Archivos: .rar y .zip

Para obtener el objeto file_ids, primero publica archivos en https://graph.facebook.com/group_file_revisions. Puedes publicar los archivos de origen localmente desde el ordenador.

No puedes combinar los parámetros attached_media y files en una llamada a la API. Imita el comportamiento del editor de grupos, que ofrece opciones diferentes para subir los contenidos de "Foto/vídeo" y "Archivo".

Actualizar los permisos de las publicaciones, la configuración de unión, la finalidad y la configuración de aprobación de publicaciones

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

Obtener las reacciones y los comentarios de la publicación fijada

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

Identificar si un grupo también es una comunidad

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

Obtener las reglas de solicitudes de miembros para un grupo

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

Ejemplo de respuesta (JSON):

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

Eliminar una regla de solicitudes de miembros automáticas para un grupo

DELETE graph.facebook.com
  /RULE_ID

Aplicar una regla de solicitudes de miembros a un grupo

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

Carga útil de ejemplo:

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

Esta API tiene el potencial de añadir miles de usuarios a un grupo si se produce un error, por lo que es extremadamente importante utilizar este método con mucha precaución y realizar comprobaciones adicionales antes de ejecutar la llamada a la API.

Obtener el identificador del grupo y el estado de grupo oficial:

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

Actualizar el estado de grupo oficial:

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