Idealmente, vorrei impostare il gruppo primario quando invito un utente in modo che sia il gruppo che sto aggiungendo nell’invito, ma non vedo un modo per farlo. Esiste un modo tramite l’API per impostare il gruppo primario per un utente?
Saluti
Idealmente, vorrei impostare il gruppo primario quando invito un utente in modo che sia il gruppo che sto aggiungendo nell’invito, ma non vedo un modo per farlo. Esiste un modo tramite l’API per impostare il gruppo primario per un utente?
Saluti
Penso che tu possa essere in grado di aggiornare le impostazioni utente tramite l’operazione updateUser:
Grazie per il suggerimento: ho provato a usarlo: ho aggiornato primary_group_name, primary_group_id e anche la voce dell’array groups per esso [‘primary_group’] = true – ottengo un 200 quando chiamo update_user – usando la gemma, ma ancora niente. Darò un’occhiata più da vicino domani, vedrò se c’è qualche indicazione su cosa sta andando storto. Non ho visto nulla di ovvio, però.
questo è il codice che ho eseguito e ho ottenuto un codice 200 dal server:
client = DiscourseApi::Client.new("https://myforumurl.example.com")
client.api_key = 'una chiave api con permessi globali per testare questo'
client.api_username = 'il mio nome utente admin -- penso che questo non abbia importanza comunque'
user = client.user('joepowell')
user['primary_group_name'] = 'dojo'
user['primary_group_id'] = 42
# questo è il gruppo 42 nell'array groups
user['groups'][2]['primary_group'] = true
client.update_user('joepowell', user)
Vedi Ingegnerizzazione inversa dell’API di Discourse. Questo è il modo più affidabile per capire l’API ed è sempre aggiornato.
Ottimo, grazie :). Ti farò sapere domani mattina dopo averlo fatto ![]()
Sono stato in grado di utilizzare il seguente codice ruby per aggiornare l’ID del gruppo primario. Non sembra essere ancora supportato tramite la gemma (ho cercato nel codice riferimenti a primary_group_id e non ho visto nulla che sembrasse funzionare in questo modo).
require 'curb'
http = Curl.put('https://yourforum.com/admin/users/###user_id###/primary_group?primary_group_id=###group_id###') do | http |
http.headers['Api-Key'] = 'your-api-key';
http.headers['Api-Username'] = 'your-api-username';
http.headers['Content-Type'] = 'application/x-www-form-urlencoded'
end
Penso che vada bene usare questi metodi per effettuare richieste a percorsi non supportati dalla gemma:
Quindi puoi fare cose come:
response = client.put("admin/users/4/primary_group", primary_group_id: 43)
ahh bello, grazie – ho pensato che potrei fare una pull request dopo aver aggiornato il codice qui:
ma al momento sono molto impegnato a far funzionare le cose, quindi ci vorrà un po’ prima che mi dedichi a fare modifiche al codice di discourse stesso. Sto comunque adorando discourse – ho giocato brevemente con flarum su raccomandazione di qualcuno che non sarà nominato, e francamente non c’è paragone, Discourse è su un altro livello per chiunque voglia fare qualcosa fuori dagli schemi.
Saluti
È possibile con l’API cambiare il gruppo primario? ![]()
Se puoi cambiarlo con l’UX, puoi cambiarlo con l’API. Vedi Ingegneria inversa dell’API di Discourse
Oh, ma se intendi con la Gem, allora non lo so. Mi dispiace
grazie per la risposta @pfaffman
Ho provato con reverse ma non funziona, ho ricevuto 404 not found ![]()
/admin/users/barto_95/primary_group.json:
{
"errors": [
"L'URL ou la ressource demandée n'a pas été retrouvée."
],
"error_type": "not_found"
}
e con
/admin/users/2/primary_group.json: (2 = ID dell’utente barto_95)
{
"errors": [
"L'accès à la ressource demandée n'est pas autorisé."
],
"error_type": "invalid_access"
}
Se guardo sul browser con l’url /admin/users/2/primary_group.json vedo il json
La richiesta per testare l’api:
curl --request PUT \
--url 'https://xxxxxr/admin/users/2/primary_group.json?=' \
--header 'Api-Key: a7bb1199xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdecbc7b41658' \
--header 'Apu-Username: Equipe_HACF' \
--header 'Content-Type: application/json' \
--data '{
"primary_group_id": "67"
}'
grazie per il tuo aiuto
Quell’utente è un amministratore? La mia migliore ipotesi è che si tratti di un problema di autorizzazioni. Uno o più dei seguenti: l’utente è errato, la chiave è errata, le autorizzazioni per la chiave sono errate.
Sì, il problema sono i permessi dell’utente che ho utilizzato
grazie ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.