Je pense que c’est ce qui m’est arrivé aussi, je ne sais pas quoi faire
Ne l’intègre-t-il pas ?
Eh bien, j’ai tout fait ou qu’est-ce que ce post envoie, mais les liens ne s’intègrent pas !
Dans mon forum et ici
Je voudrais pouvoir voir des vidéos et des photos d’Instagram et de TikTok sur mon forum.
Quelqu’un sait comment je peux faire ça. Je suis aussi prêt à payer pour ça.
Expliquez-nous comment vous utilisez cette autorisation ou cette fonctionnalité
La permission instagram_graph_user_profile permet à votre application de lire le profil utilisateur de l’utilisateur. Cette permission doit être utilisée pour lire les champs d’un profil utilisateur Instagram (par exemple, l’identifiant de l’utilisateur ou le type de compte). Vous pouvez utiliser cette permission pour lire le nœud « Utilisateur » (représentant l’utilisateur Instagram) et ses périmètres. Vous pouvez également utiliser cette permission pour demander des insights et des analyses à des fins publicitaires, marketing ou d’amélioration de votre application en utilisant des données agrégées non identifiables ou anonymisées (à condition que ces données ne puissent pas être désanonymisées).
Facebook me demande d’enregistrer une vidéo.
Est-ce que cela ne fonctionne plus pour les intégrations Instagram ? Cela fonctionnait auparavant et, au cours des derniers jours, les liens Instagram ne s’intègrent plus.
Je ne vois pas l’application oEmbed. À la place, il y a ‘Instagram Basic Display’.
Est-ce la même chose ? Mon application dans Facebook est temporairement suspendue (longue histoire), donc je ne peux pas y toucher pour le moment pour le savoir.
plus tard…
Je note ceci de https://developers.facebook.com/docs/features-reference/oembed-read
Mon embedding s’est encore cassé. Je vais vérifier ma console développeur pour voir si quelque chose d’évident cloche (même si c’est le cas, je pourrais passer à côté !).
Eh bien, je n’ai pas manqué ça ! :
Je n’ai aucune idée si cela résoudra les intégrations cassées, mais j’ai suivi les étapes de toute façon.
Je suis au-delà de la date limite du 11 janvier 2024, j’espère donc que tout ira bien.
Les étapes étaient assez simples, juste environ 4 cases à cocher que je devais cocher pour confirmer la conformité avec diverses questions (que j’avais confirmées par le passé, et comme rien sur mon site n’avait changé, je crois que tout devrait aller bien).
Maintenant, je n’ai plus qu’à attendre un jour ou deux pour la confirmation.
Bonjour à tous, nous avons récemment décidé d’autoriser les utilisateurs à intégrer des liens Instagram. Nous avons suivi les instructions de ce fil de discussion → créé une application dans Meta → obtenu un jeton → ajouté à Discourse OneBox. Tout s’est bien passé, mais les publications Instagram n’apparaissaient pas.
J’ai remarqué que Discourse ne convertit pas correctement les liens Instagram en iframes, et rien ne se passe ensuite lors de l’affichage avec cet iframe.
Par exemple, le lien :
https:/www.instagram.com/p/DNuo51_XP5L/
a été converti en cet iframe :
<iframe width="" height="98" frameborder="0" data-unsanitized-src="https:/www.instagram.com/p/DNuo51_XP5L/embed" seamless="seamless" sandbox="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-presentation"></iframe>
et lors de l’affichage avec l’iframe, rien ne s’est passé et il y avait un rectangle vide.
Pour résoudre ce problème, j’ai écrit ce code et je l’ai inséré en tant que composant JS personnalisé :
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer(api => {
api.decorateCooked(($cooked) => {
$cooked[0].querySelectorAll('iframe[data-unsanitized-src]').forEach((f) => {
const u = f.getAttribute("data-unsanitized-src");
if (!u) return;
const fixed = u.replace(/^https:\//, "https://");
let host = "";
try { host = new URL(fixed).hostname; } catch (e) {}
if (host === "www.instagram.com" || host === "instagram.com") {
const permalink = fixed.replace(/\/embed\/?$/, "/");
const blockquote = document.createElement("blockquote");
blockquote.className = "instagram-media";
blockquote.setAttribute("data-instgrm-permalink", permalink);
blockquote.setAttribute("data-instgrm-version", "14");
f.replaceWith(blockquote);
if (!document.querySelector('script[src*="www.instagram.com/embed.js"]')) {
const s = document.createElement("script");
s.async = true;
s.src = "//www.instagram.com/embed.js";
document.body.appendChild(s);
} else if (window.instgrm && window.instgrm.Embeds) {
window.instgrm.Embeds.process();
}
}
});
}, { id: "instagram-iframe-to-blockquote" });
});
Après cela, tous les intégrations Instagram ont commencé à s’afficher comme prévu. Ce code convertit les iframes cassés en <blockquote>.
J’espère que ce code sera utile à quelqu’un.



