J'essaye de faire une requête PUT à l'API Discord. Je m'explique.
Avec l'API Discord OAuth2, je récupère l'access_token de l'utilisateur, ce qui me donne le droit de le faire automtiquement rejoindre mon serveur/guild Discord (avec l'autorisation OAuth2 guild.join, donc je ne fais rien d'interdit !).
J'arrive sans problème à récupérer donc l'access_token puis l'ID de l'utilisateur, son nom d'utilisateur, ...
Cependant, quand j'utilise cURL (en PHP) pour faire la requête PUT qui devrait permettre de faire automatiquement rejoindre à l'utilisateur mon serveur (ajouter le membre à la guild, ou Add Guild Member), j'obtiens l'erreur : 400 Bad Request | cloudflare.
Toutes les informations de ma requête sont correctes : le header Autorisation (Authorizaion) est bien défini sur Bot avec le bon token, l'access_token de l'utilisateur est juste... parce que la requête fonctionne lorsque j'utilise cURL via l'invite de commande de Windows.
Utilise json_encode au lieu d'écrire un JSON à la main, surtout s'il est foireux au final : là, il doit manquer des quotes autour de $discord_token->access_token
Malheureusement, cela ne change rien. Je tiens aussi à préciser que toutes mes autres requêtes (pour récupérer l'access_token par exemple) fonctionne quasiment de la même manière et il n'y a aucune erreur.
Merci beaucoup ! Le problème venait en effet de curl_setopt($curl, CURLOPT_PUT, true); bien que je croyais avoir déja testé l'autre solution !
J'ai maintenant un erreur "Invalid OAuth2 access token" mais je pense pouvoir résoudre ca moi-même. Encore merci !
- Edité par GoldFrite 22 septembre 2021 à 17:52:13
- GoldFrite
PHP erreur cURL PUT Discord API
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
- GoldFrite
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
- GoldFrite
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
- GoldFrite