Salut tout le monde, premier post ici.
Je suis un visiteur fréquent d’un forum basé sur Discourse (d’après le code source, il semble que ce soit 3.2.0.beta1-dev, je n’ai aucune idée de quelle est la dernière version actuelle), et j’ai été déçu de constater que les liens Artstation n’ont pas d’aperçu. Les pages Artstation semblent avoir toutes les balises meta nécessaires, et Discord & Facebook ont des aperçus pour eux, mais pas Discourse.
https://www.artstation.com/artwork/xDol3X
Voici ce que je vois dans le volet d’aperçu pour le lien ci-dessus :
Ok, apparemment pas de prévisualisation pour Instagram non plus :
https://www.instagram.com/p/CYg_FLqox8c/
Contrairement au lien Artstation, celui-ci n’a même aucun détail dans le volet de prévisualisation… Mais il y a les balises méta og:* nécessaires, il n’y a donc aucune raison pour que cela ne fonctionne pas.
Cela ne ressemble pas à un bug. Si vous lisez l’erreur, le site Web vous refuse l’accès (de votre serveur). Vous pourriez essayer mon plugin d’assistant onebox pour voir si cela vous aide.
La capture d’écran provient de CE forum. C’est probablement la même chose pour tous les forums Discourse.
Fait intéressant, sur ce forum, il y a un aperçu pour les posts Twitter :
alors qu’il n’y en a pas sur le forum d’où je viens. Je me demande bien pourquoi.
Donc, il rejette aussi Meta.
Oui, mais pourquoi ? Les métadonnées onebox sont-elles chargées côté serveur, et non côté client ?
Oui, il est chargé côté serveur.
Au fait, je viens de l’essayer avec l’assistant onebox et il n’a pas été d’une grande aide.
En vérifiant auprès du service proxy, ils sont également refusés :
Donc, même les experts en appels proxy ne peuvent pas les dépasser !
Super. Que peut-on faire d’autre à ce sujet ? Cela semble être une chose plutôt étrange à bloquer - pourquoi auriez-vous des balises meta sur votre site Web si vous ne pouvez pas y accéder pour afficher un aperçu ?
Est-ce que ce sont les en-têtes de requête qui causent cela ? Bien que cela semble peu probable car j’ai essayé de faire une requête depuis Postman et elle est passée sans problème.
- Contactez-les directement pour leur demander.
- Contactez un service proxy et découvrez s’il peut contourner le problème, puis utilisez ce service proxy.
J’ai déjà envoyé un e-mail à embed.rocks pour le point 2.
Contacter qui ? Artstation, Instagram et Twitter ? ![]()
Il n’y a aucune chance que j’obtienne une réponse significative.
Ceci n’est très probablement pas causé par eux.
Pour contourner ces restrictions, il faut une expérience et une expertise sérieuses, et je n’ai pas le temps d’apprendre cette niche des technologies de l’information. Vous devez donc vous fier à ceux qui y consacrent toute leur journée : c’est-à-dire un service de proxy.
Je vous ferai savoir si j’obtiens une réponse de Embed.rocks, puis vous pourrez utiliser mon plugin.
Certains sites web vous obligent à utiliser des intégrations enregistrées avec une clé.
Pouvez-vous vérifier quels en-têtes vous envoyez lors de la génération d’un onebox ?
Désolé, je n’ai plus le temps de m’en occuper. Je mettrai à jour ici si j’obtiens une réponse de embed.rocks.
Au fait, pour Twitter, vous devez activer les intégrations enrichies :
C’est presque certainement configuré ici.
Il pourrait y avoir une solution similaire pour Artstation, mais vous devrez peut-être la construire.
Oh mince ! 100 $/mois juste pour ça ! Tant pis pour la découvrabilité. Quelle honte.
oui, le prix est ridicule, je ne sais pas sur quelle planète ils sont !
Regardez ceci aussi :
Génial ! Bien que le JavaScript puisse être amélioré. Je pense que je vais faire une PR, et peut-être faire la même chose pour les autres domaines qui m’intéressent.
Veuillez laisser cette partie en:\n\ndiscourse-twitter-native-embed/javascripts/discourse/initializers/discourse-twitter-native-embed.js at a4716fbac538f811d492f025e6f9661aa36cae2d · Lhcfl/discourse-twitter-native-embed · GitHub
Oui, idéalement, il devrait vraiment utiliser async loadScript (qui renvoie une promesse) afin que le reste du code ne s’exécute pas tant que le script n’est pas garanti d’être chargé.

