Eine neuere Einschränkung der Twitter-API hat verhindert, dass einige Discourse-Forum-Oneboxen angezeigt werden. Diese Theme-Komponente ermöglicht es Discourse, native Twitter-Einbettungen zu unterstützen, ohne auf die APIs von Twitter angewiesen zu sein.
Die Theme-Komponente fordert einen Twitter-JavaScript von platform.twitter.com an. Wenn Twitter dies wünschte, könnte es Sie in diesem JavaScript verfolgen und Datenschutzprobleme verursachen. Sie müssen abwägen, ob Sie dieser sozialen Plattform vertrauen, die immer lächerlicher wird.
Um diese Komponente zu verwenden, müssen Sie den Twitter-Link zum Bereich der Berechtigungen der Inhalts-Sicherheitsrichtlinie in den Website-Einstellungen hinzufügen und twitter.com und x.com zu den blockierten Onebox-Domains hinzufügen.
Muss ich nach diesem Vorgang neu kompilieren? Ich habe es installiert und zu den Inhaltsrichtlinien hinzugefügt, aber es gibt immer noch keine Einbettungen, nur den Link.
Natürlich nicht. Bitte senden Sie mir einen Link zu Ihrer Website, und ich werde nachsehen, warum diese Komponente in meinem Forum einwandfrei funktioniert.
Danke, ich habe es herausgefunden. Nachdem ich den Twitter-Consumer-Schlüssel und das Geheimnis aus den Einstellungen entfernt hatte, funktioniert es jetzt wie vorgesehen. Ich glaube, es wurde versucht, die Einbettung über die API zu standardisieren, da ich diese nicht entfernt hatte. Nochmals vielen Dank, dass Sie das getan haben. Es wäre großartig, wenn so etwas auch für Instagram möglich wäre.
Es funktioniert wie angepriesen, aber vielleicht ist nicht ganz klar, dass man in der Vorschau nur die Tweet-URL als Hyperlink sieht und das Einbetten erst beim Absenden der Antwort oder des Beitrags erfolgt.
Ich habe an einem kleinen Fork gearbeitet, um den dunklen Modus von data-theme für Embeds zu verwenden. Es funktioniert gut, aber ich bin kein erfahrener Programmierer.
Wenn es Ihnen gelingt, eine Option hinzuzufügen, um das Standardthema oder das dunkle Thema zu verwenden, denke ich, dass es noch besser sein wird!
Wir haben alle oben empfohlenen Änderungen vorgenommen. Unser Problem besteht jetzt nur noch, wenn wir versuchen, über ein Mobilgerät zu posten… das Einbetten eines Tweets über einen Laptop/Desktop funktioniert jetzt einwandfrei.
Manche Leute wünschen sich Einbettungen und keine „Login“-Funktionalität, und so wird diese Komponente sehr beliebt sein, und ja, ich sehe auch Anfragen für andere Plattformen.
Persönlich mag ich den natürlicheren Twitter-Embed-Stil mehr als den Onebox. Wenn die beliebteren Plattform-Embeds das native Aussehen beibehalten, heben sie sich gut vom Fluss eines Themas ab. Wirklich großartige Arbeit und ich kann nicht anders, als darüber nachzudenken, warum wir das nicht schon früher hatten, um all die Komplexität der Einrichtung von Entwicklerkonten zu vermeiden, aber so ist es nun mal, Not macht erfinderisch und die Tapferen und Mutigen stellen sich der Herausforderung.
Ein weiterer Punkt zur Fragilität von Embeds als Inhalt nach der Betrachtung des Twitter-implodierenden Themas. brachte mich wieder auf eine alte Idee.
Wenn Embeds in der Lage wären, als Teil der Embed-Funktion ein Backup-Bitmap der Embed-Vorschau zu generieren, würde dies vor Photobucket-Ergebnissen und ähnlichem schützen.
Ich habe keine Ahnung, wie das programmiert werden könnte, aber ich stelle mir vor, dass es im Prinzip ähnlich funktionieren würde wie die Funktion, die das Bild eines geposteten Bildlinks erfasst und in der nativen Datenbank speichert, während ich davon ausgehe, dass dies einfacher ist, da es sich um eine bereits existierende Datei handelt, die irgendwo auf einem Server liegt. Es würde, nehme ich an, genauso funktionieren wie eine benutzerdefinierte Bildschirmaufnahme-Funktion, die im Moment der Erstellung eines Embeds in einem Discourse-Post ausgelöst wird.
Websites, die einen Teil ihres Inhalts archivieren, sind hilfreich, da im Laufe der Zeit Inhalte verschwinden.
Ich werde auch eine weitere Funktion in dieser Richtung vorschlagen hier.
Dies ist wichtig und wurde gerade entdeckt, wenn man 2 und 2 zusammenzählt – wenn Sie vorher kein CSP aktiviert hatten und z. B. Google AdSense verwenden, werden Ihre Anzeigen zerstört, wenn Sie CSP aktivieren, wenn Sie Verschlüsselung (DM’s) verwenden, damit die Twitter-Komponente funktioniert, da es einen potenziellen Konflikt gibt!
Ich würde gerne widerlegt werden mit einer Superlösung oder “Sie haben es falsch gemacht”
Da die Einbettung über die API nun ein kostenpflichtiges Twitter-Abonnement erfordert, könnte/sollte diese Methode in den Discourse-Kern integriert werden? Große Unternehmensgemeinschaften können sich Elon’s Gebühren leisten, aber für gemeinnützige Organisationen und kleine Gemeinschaften ist dies unerschwinglich.
Twitter’s Niedergang ist ein schwieriger Fall. Es ist immer noch die wichtigste Quelle für die meisten Nachrichten und Ereignisse, genutzt von Medienhäusern, Unternehmen und Personen des öffentlichen Interesses. Trotz Elon’s Erpressung gibt es keinen glaubwürdigen Herausforderer oder eine Alternative für die Plattform.
Leider funktioniert diese Komponente auf meiner Discourse-Instanz nicht. Wir haben die Twitter-Login-Schlüssel entfernt, aber es funktioniert immer noch nicht. Außerdem wurde CSP aktiviert.
Das Verlieren von Rich Embeds ist sicherlich nicht erwünscht, und wir diskutieren es, um zu sehen, was richtig getan werden kann.
Wenn Sie einen Twitter-Link in den Composer einfügen, was gibt die Netzwerk-Registerkarte Ihrer Browser-Entwicklertools zurück?
Gibt es Fehler in der JavaScript-Konsole?
Wir denken darüber nach, aber es gibt zwei sehr große Probleme, die hier angegangen werden müssen:
IFRAME bedeutet, dass wir Twitter erlauben, Benutzer zu verfolgen. Es gibt Datenschutzbedenken.
IFRAME bedeutet, dass wir den Krieg der „unbekannten“ Höhe führen müssen. Wenn wir keine Höhe haben und diese erst nach einem Chat mit Twitter erhalten, springt die Seite auf und ab, was das Discourse-Erlebnis stark beeinträchtigen kann. Die Höhe im Voraus zu ermitteln, ist extrem schwierig.
Absolut. Diese Theme-Komponenten-Umgehung lädt JavaScript von den Servern von Twitter, und angesichts der allgemeinen Situation von Twitter stellt dies ein enormes Datenschutrisiko dar. Daher bin ich zögerlich, diese Theme-Komponente anzuwenden, zumindest vorerst.
Einbettungen funktionieren jetzt, aber die Composer-Vorschau zeigt immer noch die Meldung „Entschuldigung, wir können keine Vorschau generieren…“. Wenn sie gepostet werden, sieht alles gut aus.