Aggiunta di campi personalizzati utente non visibili all'API

:bookmark: Questa guida spiega come esporre i dati dei campi personalizzati utente tramite l’API senza visualizzarli su una scheda utente.

:person_raising_hand: Livello utente richiesto: Amministratore

Questa guida ti accompagnerà nel processo di rendere i dati dei Campi Personalizzati Utente accessibili tramite API senza visualizzarli su una scheda utente. Questo può essere utile quando è necessario accedere programmaticamente ai dati utente personalizzati mantenendoli nascosti alla vista generale.

Creazione di un Campo Personalizzato Utente

  1. Innanzitutto, crea il tuo Campo Personalizzato Utente. Per istruzioni dettagliate, fai riferimento alla guida creazione e configurazione dei campi utente personalizzati.
  2. Una volta configurato il tuo campo personalizzato, salvalo.

Trovare l’ID del Campo Personalizzato Utente

  1. Naviga su /admin/config/user-fields.json nel tuo browser.
  2. Individua il tuo campo personalizzato appena creato e annota il suo numero ID.

Configurazione dell’Accesso API

  1. Vai alle impostazioni di amministrazione del tuo sito.
  2. Trova l’impostazione campi utente personalizzati pubblici o campi utente personalizzati staff:
    • Usa campi utente personalizzati pubblici se desideri che i dati siano accessibili a tutti gli utenti API.
    • Usa campi utente personalizzati staff se desideri limitare l’accesso solo alle chiavi API dello staff.
  3. Inserisci il campo personalizzato nel formato user_field_X, dove X è il numero ID che hai annotato in precedenza.
    Ad esempio, se il tuo ID campo personalizzato è 7, dovrai inserire user_field_7.

Accesso ai Dati del Campo Personalizzato

Una volta configurato, i dati del campo personalizzato saranno inclusi nell’endpoint /u/[USERNAME].json nella sezione “User Fields”.

Ricerca Utenti per Valori di Campi Personalizzati

Puoi cercare utenti in base ai loro valori di campi personalizzati utilizzando l’API:

  1. Assicurati che il campo personalizzato abbia l’opzione “ricercabile” selezionata nelle sue impostazioni.
  2. Usa l’endpoint /directory_items.json con i tuoi parametri di query.

Ecco un esempio di chiamata API:

https://yourdomain.com/directory_items.json?period=weekly&order=likes_received&name=SearchTerm&user_field_ids=1|2
  • user_field_ids: Specifica quali campi personalizzati cercare (ad es. user_field_ids=5 per cercare solo nel campo personalizzato ID 5).
  • name: Il termine di ricerca da cercare nei campi personalizzati, nei nomi utente e possibilmente nei nomi completi.

Nota: Questa ricerca non è esclusiva per i campi personalizzati e potrebbe restituire risultati basati anche su corrispondenze di nome utente o nome completo.

Per maggiori dettagli sui parametri disponibili, consulta la documentazione API.

Risorse Aggiuntive

7 Mi Piace

Ottimo, grazie! C’è un modo per trovare un utente tramite un valore in un campo personalizzato tramite API?

1 Mi Piace

Sì, usando i parametri di query:

Ad esempio,
https://unicyclist.com/directory_items.json?period=weekly&order=likes_received&name=Flansberrium+G29&user_field_ids=1|2

Restringere i campi personalizzati dell’utente da cercare modificando l’ultimo parametro user_field_ids=1|2.
Ad esempio, user_field_ids=5 per cercare solo nel campo personalizzato ID 5.

Ci sono anche un paio di altri parametri disponibili che puoi trovare nella documentazione API (documenti che non menzionano i campi utente, ma puoi facilmente fare reverse-engineering dell’API.

I campi personalizzati devono avere l’opzione “searchable” selezionata affinché la query funzioni:

Inoltre, tieni presente che la query non cercherĂ  solo nei campi personalizzati, ma anche nei nomi utente e forse nei nomi completi. Penso che non ci sia una funzionalitĂ  integrata per filtrare solo per campi personalizzati.

3 Mi Piace