Si ce n’est pas la faute de Discourse, je vais porter cela sur Mastodon. Cependant, la plupart des autres plateformes AP que j’ai essayées (et dont je m’attendais à ce qu’elles fonctionnent) ont fonctionné.
Cela me manque aussi. Sans cela, il est difficile ou impossible d’interagir avec des posts fédérés à moins qu’ils ne soient déjà dans votre fil d’actualité.
@rokejulianlockhart, juste par curiosité, avez-vous essayé avec des URL d’instances WordPress utilisant le plugin WP ActivityPub ?
@rokejulianlockhart Pour faire écho à votre point lorsque vous avez créé ce sujet, en attendant, https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997 est introuvable sur Mastodon.
Discourse AP doit faire en sorte que le lien url renvoie à l’id d’une manière ou d’une autre, de préférence via une redirection sur les requêtes avec l’en-tête de négociation de contenu Accept correct.
Par conséquent, je vais provisoirement marquer cela comme un Bug. (Je ne peux pas. Trop ancien.)
@icaria36, veuillez commenter cela sur la discussion GitHub. Avoir quelqu’un d’autre qui remet en question la réponse lui confère plus de crédibilité que si j’étais l’intermédiaire.
La requête de Discourse avec cela renvoie une réponse HTTP 400.
Omettre text/html;q=0.1 renvoie un objet ActivityStreams. Il semble donc s’agir d’un bug de Discourse, qui renvoie un 400 dès lors que text/html fait partie des types acceptés…
Je ne suis pas sûr qu’il s’agisse d’un bug dans Discourse. J’ai répondu sur le problème sur Mastodon. Publication croisée ici pour plus de commodité :
La raison pour laquelle nous renvoyons un 400 dans ce scénario est que la spécification ActivityPub semble l’exiger.
Les requêtes POST (par exemple, vers la boîte de réception) DOIVENT être faites avec un Content-Type de application/ld+json; profile=“ActivityStreams 2.0 Terms” et les requêtes GET (voir aussi 3.2 Récupération d’objets) avec un en-tête Accept de application/ld+json; profile=“ActivityStreams 2.0 Terms”
@ClearlyClaire Faut-il ajouter text/html;q=0.1 à l’en-tête Accept ?