# Ajouter des groupes et des catégories (avec sécurité) avec WP-Discourse ou l'API ?

**URL:** <https://meta.discourse.org/t/add-groups-and-categories-with-security-with-wp-discourse-or-the-api/212787>\
**Category:** WordPress\
**Created:** [Décembre 21, 2021, 3:35 UTC](https://meta.discourse.org/t/add-groups-and-categories-with-security-with-wp-discourse-or-the-api/212787 "2021-12-21T15:35:18Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)\
**Post date:** [Décembre 22, 2021, 3:36 UTC](https://meta.discourse.org/t/add-groups-and-categories-with-security-with-wp-discourse-or-the-api/212787/2 "2021-12-22T03:36:03Z")

</div>

Oui, c’est possible. Vous pouvez faire n’importe quelle requête API à Discourse depuis WordPress en utilisant la méthode utilitaire `discourse_request`, c’est-à-dire

```plaintext
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$args = array(
   "body" => "",
   "type" => "post"
);
$response = DiscourseUtilities::discourse_request( $path, $args );

```

Cela formatera correctement la requête et utilisera la clé API et l’utilisateur que vous avez fournis dans les paramètres de [WP Discourse](https://github.com/discourse/wp-discourse). Vous aurez besoin d’une clé globale pour les actions auxquelles vous faites référence (si vous utilisez également la même clé pour la fonctionnalité normale de [wp discourse](https://github.com/discourse/wp-discourse)).

#### Créer un groupe

Le point de terminaison que vous voulez est celui-ci : [Discourse API Docs](https://docs.discourse.org/#operation/createGroup). Il n’y a pas de liste complète des paramètres dans la documentation de l’API, mais vous les trouverez ici : [discourse/app/controllers/admin/groups\_controller.rb at main · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/main/app/controllers/admin/groups_controller.rb#L152)

#### Créer une catégorie

Le point de terminaison que vous voulez est celui-ci : [Discourse API Docs](https://docs.discourse.org/#operation/createCategory). De même, la liste complète des paramètres se trouve ici : [discourse/app/controllers/categories\_controller.rb at main · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/main/app/controllers/categories_controller.rb#L319)

Notez que les « paramètres de sécurité » sont gérés via le paramètre `permissions`. Il vous suffit de lui donner un objet avec les noms de groupe comme clés et les entiers de niveau de permission comme valeurs, par exemple

```plaintext
{
  "cohort1": 2,
  "staff": 1
}

```

Vous trouverez la liste des entiers de niveau de permission ici : [discourse/app/models/category\_group.rb at main · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/main/app/models/category_group.rb#L10)

---

_[View the full topic](https://meta.discourse.org/t/add-groups-and-categories-with-security-with-wp-discourse-or-the-api/212787)._
