# Aggiunta membri di gruppo vs aggiunta proprietari: il formato dei dati è diverso

**URL:** https://meta.discourse.org/t/adding-group-members-vs-adding-owners-data-format-is-different/144477
**Category:** Development
**Tags:** rest-api
**Created:** [16 Marzo 2020, 2:07pm UTC](https://meta.discourse.org/t/adding-group-members-vs-adding-owners-data-format-is-different/144477 "2020-03-16T14:07:45Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![bennett](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bennett/32/171668_2.png) [@bennett](https://meta.discourse.org/u/bennett)
#### Post date: [16 Marzo 2020, 2:07pm UTC](https://meta.discourse.org/t/adding-group-members-vs-adding-owners-data-format-is-different/144477/1 "2020-03-16T14:07:45Z")

</div>

Quando si utilizza l’API per aggiungere membri e proprietari a un gruppo, sembra che il formato dei dati richiesti sia diverso. Potrebbe essere intenzionale, ma vorrei sapere il motivo (sta rompendo pydiscourse, la migliore libreria che riesco a trovare per interagire con l’API di Discourse in Python).

Aggiunta di un membro a un gruppo:

```
curl -X PUT "https://{mydomain}/admin/groups/{group_id}/members.json" \ 
    -d 'usernames={my-username}' \
    -H "Api-Key: {my-api-key}" \
    -H "Api-Username: {my-api-username}"

```

Aggiunta di un proprietario a un gruppo:

```
curl -X PUT "https://{mydomain}/admin/groups/{group_id}/owners.json" \ 
    -d 'group[usernames]={my-username}' \
    -H "Api-Key: {my-api-key}" \
    -H "Api-Username: {my-api-username}"

```

Mi incuriosisce perché la chiave per il parametro username nell’endpoint dei proprietari debba essere scritta come `group[usernames]` invece di semplicemente `usernames`?

---

<div class="post-metadata">

### Author: ![blake](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blake/32/157322_2.png) [@blake](https://meta.discourse.org/u/blake)
#### Post date: [18 Marzo 2020, 9:57pm UTC](https://meta.discourse.org/t/adding-group-members-vs-adding-owners-data-format-is-different/144477/2 "2020-03-18T21:57:26Z")

</div>

> [@bennett](#):
>
> Mi chiedo perché la chiave per il parametro username nell’endpoint degli owner debba essere scritta come `group[usernames]` invece di semplicemente `usernames`?

L’unica ragione che posso dare è che stanno effettivamente utilizzando due controller diversi.

L’endpoint per aggiungere membri è mappato al controller dei gruppi:

```plaintext
PUT /admin/groups/:id/members(.:format) groups#add_members 

```

Mentre l’endpoint per aggiungere owner è mappato al controller admin/groups.

```plaintext
PUT /admin/groups/:id/owners(.:format) admin/groups#add_owners

```

> [@bennett](#):
>
> sta rompendo pydiscourse

È improbabile che aggiorniamo questo endpoint, dato che molte integrazioni lo utilizzano già così com’è. La cosa migliore da fare è aprire un issue nel repository [pydiscourse](https://github.com/bennylope/pydiscourse). Potresti anche applicare una patch di tipo monkey patch per correggere [`add_group_owner`](https://github.com/bennylope/pydiscourse/blob/master/pydiscourse/client.py#L1015) nella tua applicazione Python fino a quando non verrà risolto all’interno di pydiscourse.

---

<div class="post-metadata">

### Author: ![blake](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blake/32/157322_2.png) [@blake](https://meta.discourse.org/u/blake)
#### Post date: [18 Marzo 2024, 2:35pm UTC](https://meta.discourse.org/t/adding-group-members-vs-adding-owners-data-format-is-different/144477/5 "2024-03-18T14:35:11Z")

</div>


