Configurare un token dell'app per Instagram oneboxes

Penso che sia successo anche a me, non so cosa fare

https://www.instagram.com/p/CIRhYzFM7Lu

Non lo incorpora?

Ho fatto tutto quello che dice questo post, ma i link non si incorporano!

Nel mio forum e qui

Vorrei poter vedere video e foto di Instagram e TikTok sul mio forum.
Qualcuno sa come posso fare? Sono anche disposto a pagare per questo.

Spiegaci come utilizzi questo permesso o questa funzionalità
Il permesso instagram_graph_user_profile consente alla tua app di leggere il profilo utente dell’utente da esso. Questo permesso deve essere utilizzato per leggere i campi in un profilo utente di Instagram (ad esempio, l’ID utente o il tipo di account). Puoi utilizzare questo permesso per leggere il nodo “Utente” (che rappresenta l’utente di Instagram) e i suoi parametri. Puoi anche utilizzare questo permesso per richiedere approfondimenti e analisi per la pubblicità, il marketing o il miglioramento della tua applicazione utilizzando dati aggregati non identificativi o anonimi (a condizione che tali dati non possano essere de-anonimizzati).

Facebook mi chiede di registrare un video.

Questo è rotto per gli embed di Instagram? Funzionava prima e qualche giorno fa i link di Instagram non vengono più incorporati.

Non riesco a vedere l’app oEmbed. Al suo posto c’è ‘Instagram Basic Display’.

È la stessa cosa? La mia app in Facebook è temporaneamente sospesa (lunga storia), quindi non posso armeggiare con essa per scoprirlo al momento.

più tardi…

Noto questo da https://developers.facebook.com/docs/features-reference/oembed-read

image

1 Mi Piace

La mia incorporazione si è nuovamente interrotta. Controllerò la mia console per sviluppatori per vedere se c’è qualcosa di ovvio (anche se c’è, potrei non notarlo!)

Beh, non l’ho mancato!:

Non ho idea se questo risolverà gli embed non funzionanti, ma ho comunque seguito i passaggi.

Ho SUPERATO la scadenza dell’11 gennaio 2024, quindi spero che vada ancora tutto bene.

I passaggi sono stati abbastanza semplici, solo circa 4 caselle di controllo che ho dovuto selezionare per confermare la conformità a varie questioni (che avevo confermato in passato, e dato che nulla sul mio sito era cambiato credo che dovrebbe andare tutto bene).

Ora devo solo aspettare un giorno o due per la conferma.

1 Mi Piace

Ciao a tutti, abbiamo recentemente deciso di consentire agli utenti di incorporare link di Instagram. Abbiamo seguito le istruzioni da questo thread → creato un’app in meta → ottenuto un token → aggiunto a Discourse OneBox. Tutto è andato bene, ma i post di Instagram non sono apparsi.

Ho notato che Discourse non converte correttamente i link di Instagram in iframe, e quindi non succede nulla quando si visualizza con questo iframe.

Ad esempio, il link:

https:/www.instagram.com/p/DNuo51_XP5L/

è stato convertito in questo 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>

e quando si visualizza con iframe, non è successo nulla ed è apparso un rettangolo vuoto.

Per risolvere questo problema, ho scritto questo codice e l’ho inserito come componente JS personalizzato:

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" });
});

Dopo di che, tutti gli embed di Instagram hanno iniziato a essere visualizzati come previsto. Questo codice converte gli iframe non funzionanti in

.

Spero che questo codice sia utile a qualcuno.

3 Mi Piace