Gruppo

Percorso /{group-id}

Rappresenta un gruppo di Workplace. Il nodo /{group-id} restituisce un unico gruppo.

Gruppi per più aziende

Ci sono considerazioni specifiche che devono essere prese in considerazione quando si accede a gruppi per più aziende:

  • Il contenuto del gruppo può essere letto da qualsiasi app di integrazione installata in un'azienda che fa parte di un gruppo per più aziende.
  • I gruppi per più aziende sono organizzati in community o gruppi parallelamente ai gruppi standard.
    • Il campo relativo allo scopo può essere usato per identificare i gruppi per più aziende. Questo valore deve essere impostato su WORK_MULTI_COMPANY
  • I membri dei gruppi possono anche essere oggetto di query, ma solo id, name e picture saranno visibili all'utente in caso di app appartenente a un'azienda diversa.
  • Le integrazioni con autorizzazione Manage group possono aggiungere o rimuovere membri dei gruppi per più aziende.
    • Le integrazioni possono aggiungere e rimuovere solo gli utenti appartenenti alla community su cui è installata l'integrazione.
    • Le integrazioni possono aggiungere e rimuovere utenti solo quando uno degli amministratori del gruppo è un membro della community su cui è installata l'integrazione.
  • Le integrazioni con autorizzazione Manage group content possono eliminare i contenuti presenti in un gruppo per più aziende nelle seguenti circostanze:
    • Il contenuto appartiene a un membro della community dell'app.
    • Un membro della community dell'app è un amministratore del gruppo.
  • La pubblicazione nei gruppi per più aziende al momento non è disponibile.
  • I gruppi per più aziende possono essere selezionati nell'impostazione relativa alla definizione dell'ambito del gruppo per le integrazioni.
  • I bot non possono essere menzionati nei gruppi per più aziende.

Lettura

Puoi leggere le informazioni relative a un gruppo effettuando una richiesta GET API Graph per il /{group-id}.

Autorizzazioni

Per leggere un nodo Group è necessaria l'autorizzazione Read group content.

Campi

Nome del campoDescrizioneTipo di dati

id

L'ID del gruppo.

string

cover

Informazioni sull'immagine di copertina del gruppo.

CoverPhoto

cover_url

Un URL contenente l'immagine da usare come immagine di copertina del gruppo.

string

description

Una breve descrizione del gruppo.

string

icon

L'URL per l'icona del gruppo.

url

is_workplace_default

Indica se il gruppo è un gruppo di Workplace predefinito (sola lettura).

boolean

is_community

Indica se il gruppo è anche una community e può contenere altri gruppi (sola lettura).

boolean

name

Il nome del gruppo.

string

owner

Il membro che ha creato il gruppo.

User

privacy

L'impostazione sulla privacy del gruppo. Valori possibili:

  • CLOSED
  • OPEN
  • SECRET

string

updated_time

L'ultimo aggiornamento del gruppo. Questo include eventuali modifiche apportate alle proprietà del gruppo e a post e commenti.

datetime

archived

Indica se il gruppo è stato archiviato.

boolean

post_requires_admin_approval

Indica se la pubblicazione di post nel gruppo richiede l'approvazione di un amministratore.

boolean

purpose

Indica lo scopo del gruppo.

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


Obsoleti: WORK_FOR_SALE, WORK_TEAM

post_permissions

Indica se un post richiede l'approvazione di un amministratore.

enum {NONE, ADMIN_ONLY}

join_setting

Indica in che modo nuovi membri possono unirsi al gruppo.

enum {NONE, ANYONE, ADMIN_ONLY}

sorting_setting

Indica l'ordine dei post restituiti per i segmenti /feed; per impostazione predefinita è CHRONOLOGICAL.

enum {RECENT_ACTIVITY, CHRONOLOGICAL}

is_official_group

Indica se il gruppo è un gruppo di Workplace ufficiale. Se lo è, viene visualizzata l'icona del gruppo ufficiale accanto al nome del gruppo nel prodotto.

boolean

Pubblicazione

Non puoi pubblicare usando questo segmento. Per poter creare un gruppo, pubblica sul segmento /community/groups.

Eliminazione

Non puoi eliminare un gruppo usando questo nodo. La rimozione dell'ultimo membro di un gruppo comporterà l'eliminazione automatica di quel gruppo.

Aggiornamento

Puoi aggiornare un gruppo effettuando una richiesta POST API Graph per il /{group-id} e passando i valori per il campo da aggiornare nel corpo della richiesta.

Autorizzazioni

Per aggiornare un nodo del gruppo è necessaria l'autorizzazione Manage groups.

Segmenti

Nome del segmentoDescrizione

/admins

Gli amministratori di un gruppo di Workplace. Aggiunta ed eliminazione di amministratori supportate su Workplace. Consulta gli esempi sotto.

/albums

Gli album fotografici in un gruppo di Workplace.

/auto_membership_rules

Le regole per l'aggiunta automatica di membri in un gruppo.

/docs

I documenti in un gruppo di Workplace.

/events

Gli eventi in un gruppo di Workplace.

/feed

I post in un gruppo di Workplace organizzati in un feed.

/files

I file condivisi in un gruppo di Workplace.

/member_requests

Le richieste di iscrizione in sospeso per i gruppi con approvazione delle iscrizioni abilitata.

/members

I membri di un gruppo di Workplace. Questo segmento indica:

  • administrator: mostrato se questa persona è un amministratore del gruppo
  • joined: mostrato se questo utente si è unito al gruppo
  • moderator: mostrato se questa persona è un moderatore del gruppo
  • added_by: mostrato a indicare la persona che ha aggiunto l'utente al gruppo

/moderators

I moderatori di un gruppo di Workplace.

/pinned_posts

Il post fissato in alto nel gruppo.

/groups

Elenca eventuali gruppi secondari (applicabile solo ai gruppi che sono anche community)

Esempi

Ottenere ID, nome, stato di archiviazione e privacy di un gruppo:

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

Archiviare un gruppo:

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

Ottenere nome, ID e data di iscrizione dei membri di un gruppo:

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

Ottenere amministratori e moderatori di un gruppo in un'unica chiamata:

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

Ottenere i documenti di un gruppo:

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

Ottenere i post di un gruppo:

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

Ottenere i post di un gruppo in ordine di ultimo aggiornamento:

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

Parametri

sorting_setting

Consente di ordinare i post in base all'ora dell'ultimo aggiornamento invece che all'ora della creazione quando impostato su RECENT_ACTIVITY. Il comportamento predefinito può essere impostato in maniera esplicita usando CHRONOLOGICAL come valore. Gli aggiornamenti possono includere le modifiche al post ed eventuali commenti o reazioni aggiunti.

Ottenere i post di un gruppo inclusi allegati aggiuntivi come video, immagini, file o sondaggi:

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

Le opzioni di sondaggio sono elencate in ordine decrescente di voti totali per ciascuna opzione.

Ottenere una lista dei membri di un gruppo e relative date di iscrizione:

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

Aggiungere un membro a un gruppo per ID:

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

Aggiungere un membro a un gruppo per e-mail:

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

Quando includi indirizzi e-mail nell'URL per una richiesta, assicurati che tali indirizzi siano in codifica URL. Esempio: michael@example.com diventa michael%40example.com.

La rimozione dell'ultimo membro da un gruppo comporterà la programmazione dell'eliminazione di quel gruppo.

Rimuovere un membro da un gruppo per ID:

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

Rimuovere un membro da un gruppo per e-mail:

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

Quando includi indirizzi e-mail nell'URL per una richiesta, assicurati che tali indirizzi siano in codifica URL. Esempio: michael@example.com diventa michael%40example.com.

Promuovere un membro ad amministratore del gruppo:

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

Declassare un amministratore a ruolo di membro del gruppo:

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

Creare un nuovo evento in un gruppo:

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

Caricare una nuova foto (in modo binario) su un gruppo:

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

Caricare una nuova foto (tramite URL) su un gruppo:

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

Creare post su un gruppo con immagini e video allegati:

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

Parametri

attached_media

Utilizzato per foto e video, un array di media_fbids tra parentesi. Supporta i seguenti formati immagine: .jpeg, .bmp, .png, .gif, .tiff. Maggiori informazioni sui formati immagine sono disponibili qui. I file video supportati sono indicati qui. Per ottenere media_fbids per le immagini, devi prima pubblicare le foto non pubblicate all'indirizzo https://graph.facebook.com/me/photos, come descritto nella documentazione qui. Per otteneremedia_fbids per i video (incluse GIF animate), devi prima pubblicare i video all'indirizzo https://graph.facebook.com/me/videos?no_story=true.

L'impostazione del parametro no_story su "true" sopprime la notizia nel feed che viene generata automaticamente sul profilo di un utente quando carica un video usando la tua app.

Creare post su un gruppo con file allegati:

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

Parametri

files

Utilizzato per i file, un array di file_ids non tra parentesi. La gestione delle versioni dei file non è al momento supportata. Per aggiornare i file, rimuovi il file originale dagli allegati del post e ripeti il caricamento del file come allegato. Supporta i seguenti formati di file:

  • Documenti: .pdf, .csv, .tsv, .docx, .pptx, .xlsx
  • Immagini: .jpeg, .png
  • Video: .mp4
  • Archivi: .rar, .zip

Per ottenere file_ids, devi prima pubblicare i file all'indirizzo https://graph.facebook.com/group_file_revisions. Puoi pubblicare i file di origine in locale dal tuo computer.

Non puoi combinare i parametri attached_media e files in un'unica chiamata API. Questa operazione simula il comportamento dello strumento di composizione del gruppo, che prevede opzioni separate per il caricamento di elementi "Foto/Video" e "File".

Aggiornare le autorizzazioni di pubblicazione, le impostazioni di iscrizione e le impostazioni di approvazione di post e scopo:

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

Ottenere le reazioni e i commenti al post fissato in alto:

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

Stabilire se un gruppo è anche una community:

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

Ottenere le regole di iscrizione a un gruppo:

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

Esempio di risposta (JSON):

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

Eliminare una regola di iscrizione automatica per un gruppo:

DELETE graph.facebook.com
  /RULE_ID

Applicare una regola di iscrizione a un gruppo:

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

Esempio di payload:

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

Questa API potrebbe aggiungere migliaia di utenti a un gruppo in caso di errore, quindi è estremamente importante utilizzarla con attenzione e ricontrollare prima di eseguire la chiamata API.

Ottenere l'ID del gruppo e lo stato di gruppo ufficiale:

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

Aggiornare lo stato di gruppo ufficiale:

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