Fehlende Vorschau für Artstation-Links

Hallo Leute, das ist mein erster Beitrag hier.
Ich bin ein regelmäßiger Besucher eines Forums, das auf Discourse basiert (laut Quelltext sieht es nach 3.2.0.beta1-dev aus, ich habe keine Ahnung, was die aktuelle neueste Version ist), und ich war enttäuscht zu sehen, dass Artstation-Links keine Vorschau haben. Artstation-Seiten scheinen alle notwendigen Meta-Tags zu haben, und Discord & Facebook haben Vorschauen dafür, aber Discourse nicht.
https://www.artstation.com/artwork/xDol3X
Das ist, was ich im Vorschaufenster für den obigen Link sehe:

1 „Gefällt mir“

Ok, anscheinend gibt es auch keine Vorschau für Instagram:
https://www.instagram.com/p/CYg_FLqox8c/
Im Gegensatz zum Artstation-Link hat dieser nicht einmal Details im Vorschaufenster… Aber es gibt die notwendigen og:* Meta-Tags, daher gibt es keinen Grund, warum dies nicht funktionieren sollte.

Das sieht nicht nach einem Fehler aus. Wenn Sie die Fehlermeldung lesen, verweigert die Website Ihrem Server den Zugriff. Sie könnten mein Onebox-Assistenten-Plugin ausprobieren, um zu sehen, ob das hilft.

1 „Gefällt mir“

Der Screenshot stammt aus DIESEM Forum. Wahrscheinlich ist das bei jedem Discourse-Forum so.

Interessanterweise gibt es in diesem Forum eine Vorschau für Twitter-Posts:

während es in dem Forum, aus dem ich komme, keine gibt. Ich frage mich, woran das liegt.

Es verweigert also auch Meta.

Ja, aber warum? Werden die Onebox-Metadaten serverseitig und nicht clientseitig geladen?

Ja, es wird serverseitig geladen.

Übrigens, ich habe es gerade mit dem Onebox-Assistenten ausprobiert und er war keine große Hilfe.

Bei der Überprüfung mit dem Proxy-Dienst werden diese ebenfalls abgelehnt:

Also kommen nicht einmal die Experten für Proxy-Aufrufe an ihnen vorbei!

Großartig. Was kann man sonst noch dagegen tun? Das scheint eine ziemlich seltsame Sache zu sein, die man blockiert – warum sollte man Meta-Tags auf seiner Website haben, wenn man sie nicht abrufen kann, um eine Vorschau anzuzeigen?

Könnten die Request-Header das verursachen? Obwohl es unwahrscheinlich erscheint, da ich versucht habe, eine Anfrage von Postman zu senden, und sie problemlos durchkam.

  1. Kontaktieren Sie sie direkt, um sie zu fragen.
  2. Kontaktieren Sie einen Proxy-Dienst und finden Sie heraus, ob er dies umgehen kann, und nutzen Sie dann diesen Proxy-Dienst.

Ich habe bereits eine E-Mail an embed.rocks bezüglich Punkt 2 gesendet.

Wen kontaktieren? Artstation, Instagram und Twitter? :smiley:
Ich werde auf keinen Fall eine sinnvolle Antwort erhalten.
Dies wird höchstwahrscheinlich nicht von ihnen verursacht.

Diese Einschränkungen zu umgehen, erfordert ernsthafte Erfahrung und Fachwissen, und ich habe nicht die Zeit, mich in diese Nische der Informationstechnologie einzuarbeiten. Daher müssen Sie sich auf diejenigen verlassen, die den ganzen Tag damit beschäftigt sind: z. B. einen Proxy-Dienst.

Ich werde Sie informieren, wenn ich eine Antwort von Embed.rocks erhalte, dann können Sie mein Plugin verwenden.

Einige Websites zwingen Sie, registrierte Einbettungen mit einem Schlüssel zu verwenden.

Können Sie überprüfen, welche Header Sie beim Generieren eines Onebox senden?

Tut mir leid, ich habe keine Zeit mehr dafür. Ich werde hier Bescheid geben, wenn ich eine Antwort von embed.rocks erhalte.

1 „Gefällt mir“

Übrigens müssen Sie für Twitter Rich Embeds aktivieren:

Das ist mit ziemlicher Sicherheit hier eingerichtet.

Es könnte eine ähnliche Lösung für Artstation geben, aber Sie müssen sie möglicherweise selbst entwickeln.

2 „Gefällt mir“

Verdammt! 100 $/Monat nur dafür! So viel zur Auffindbarkeit. Schade.

1 „Gefällt mir“

Ja, der Preis ist lächerlich, ich bin mir nicht sicher, auf welchem Planeten sie sind!

1 „Gefällt mir“

Schau dir auch das an:

1 „Gefällt mir“

Spitze! Obwohl das JavaScript noch etwas verbessert werden könnte. Ich schätze, ich könnte einen PR machen und vielleicht dasselbe für die anderen Domains tun, an denen ich interessiert bin.

1 „Gefällt mir“

Bitte lassen Sie diesen Teil unverändert:

Ja, idealerweise sollte es wirklich async loadScript (das ein Promise zurückgibt) verwenden, damit der Rest des Codes nicht ausgeführt wird, bis das Skript garantiert geladen wurde.

2 „Gefällt mir“