Je me demande si @Falco ou quelqu’un d’autre pourrait m’aider.
J’ai récemment commencé à utiliser Patreon et j’ai configuré un serveur Discourse sur un Droplet Digital Ocean. J’ai également installé le plugin discourse-patreon et saisi toutes les clés, etc., en suivant ce tutoriel. Je peux cliquer sur le bouton « Mettre à jour les données Patreon et synchroniser les groupes » dans la page Plugin > Patreon > Filtres, et cela fonctionne correctement. Tous mes niveaux sont disponibles et je les ai tous assignés à des groupes Discourse, etc.
Tout semblait correct, mais j’ai ensuite reçu un e-mail des serveurs Patreon indiquant :
Nous vous écrivons pour vous informer qu’un POST de WebHook vers https://discourse.martinbaileyphotography.com/patreon/webhook a échoué. Par conséquent, nous avons suspendu l’envoi d’événements supplémentaires à votre URL.
J’ai essayé de configurer le client avec l’API 1, comme spécifié dans ce post, ainsi qu’avec l’API 2 en adaptant les clés et les secrets à chaque fois, en testant les trois événements obsolètes du haut et les six du bas avec les deux API, mais je ne trouve aucune combinaison qui fonctionne.
Dans mes journaux Discourse, j’ai trouvé ce message d’erreur :
(patreon) Échec de l’authentification ! csrf_detected : OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF détecté
J’ai contacté Digital Ocean et ils m’ont confirmé qu’ils ne bloquent pas les requêtes POST et ne voient aucune raison de leur côté pour que cela ne fonctionne pas. Je suis donc bloqué. Je ne trouve aucune information utile pour résoudre ce problème, alors je poste ici (et sur le forum Patreon) en espérant que cela évoque quelque chose pour quelqu’un. Peut-être que quelqu’un pourrait me donner des conseils sur la façon de résoudre ce problème ou sur ce qu’il faut vérifier pour approfondir le dépannage.
Merci d’avance pour toute aide que vous pourrez apporter !
Lors de la configuration des webhooks, vous ne devez activer que ceux qui sont obsolètes, comme expliqué dans Configure Patreon integration with Discourse, et définir le secret dans les paramètres du site.
Si cela échoue toujours, le problème peut venir de Patreon. Pouvez-vous demander à leur support technique des journaux détaillés concernant les échecs ?
Merci @Falco,
Je vais leur demander. Ils m’ont déjà dit qu’ils ne fournissaient pas de support pour l’API, ce qui est dommage. Je n’avais pas réalisé que Patreon était une entreprise limitée quand j’ai commencé ça.
OK, je vais donc utiliser les options obsolètes. Dois-je utiliser une API v1, un webhook aussi ? J’ai essayé les deux à l’origine, mais je n’ai pas essayé depuis quelques semaines maintenant.
Merci, @Falco J’ai tout reconfiguré et changé toutes les clés et secrets d’API. Le test manuel renvoie le code d’état 200, donc les appels passent. J’ai également remarqué ce matin, en vérifiant le plugin Discourse / Patreon, que les données avaient été synchronisées il y a 5 heures. J’étais au lit il y a cinq heures, donc quelque chose se passe, mais je vois toujours le message rouge « Webhook en pause », et le bouton « Reprendre » génère une autre erreur.
Quoi qu’il en soit, je demanderai les journaux détaillés à l’équipe Patreon et verrai ce qu’ils disent.
J’ai trouvé une réponse du support de Patreon dans ma boîte de réception surchargée, et ils disent simplement qu’ils ne peuvent pas fournir les journaux. Je vois également qu’ils ont fermé leur forum de support communautaire.
Je rencontre toujours ces erreurs, bien que certaines synchronisations fonctionnent, car je vois des messages qui indiquent que le système s’est synchronisé pendant mon sommeil, mais les nouveaux Patreons ne sont toujours pas ajoutés automatiquement lorsqu’ils effectuent une contribution. Je contourne cela en créant des invitations qui incluent l’accès à diverses catégories en fonction du niveau du nouveau patron, mais je dois les envoyer manuellement, donc ce n’est pas très fluide. Je suis également préoccupé par le fait que les personnes qui cessent de contribuer ne seront probablement pas supprimées de ma communauté Discourse, et bien que je n’aie encore qu’un petit nombre de patrons et que je puisse vérifier, si je commence à avoir une bonne participation en faisant la promotion de mon programme Patreon, je vais probablement perdre le contact avec cela et les choses vont se déséquilibrer.
Quoi qu’il en soit, je sais que ce n’est pas vraiment votre problème, mais je suis vraiment déçu que Patreon n’offre aucun support pour ces intégrations, malgré leur utilisation dans leur marketing pour inciter les gens à utiliser leur système.
La prise en charge des webhooks permet à la synchronisation de réagir plus rapidement aux changements, mais le plugin fonctionnera à 100 % sans elle. Nous effectuerons une synchronisation complète toutes les 6 heures et capturerons les nouveaux patrons, tout en supprimant l’accès aux patrons qui sont partis. Vous n’avez donc pas à vous soucier de ce genre de choses.
Pour ce que ça vaut, ce plugin a été créé à 100 % par nous chez Discourse sans le soutien de Patreon, nous sommes donc en mesure de le maintenir opérationnel tant que leur API existera.