Schlechter Inline-Onebox-Titel für Spotify-Album-Shares

Der Titel für eine Inline-Onebox ist schlecht (nicht, dass ich sagen will, es sei unsere Schuld):

Inline: Spotify

Quelle:

https://open.spotify.com/album/1nrWysWdrgPR0kBJ45z2aS?si=FurcwGpfSrWJBPGwKeCvDQ

Inline: https://open.spotify.com/album/1nrWysWdrgPR0kBJ45z2aS?si=FurcwGpfSrWJBPGwKeCvDQ

Bild (Vorschau):

Bild (gerendert):

4 „Gefällt mir“

Müssen wir die Browserversion in der User-Agent-Zeichenfolge unseres Crawlers aktualisieren? Es sieht so aus, als ob wir Safari 14 verwenden?

Besuch der URL manuell in dieser Safari-Version:

Wir sind uns bei den User-Agents nicht einig.

Für die vollständige Onebox verwenden wir:

Discourse Forum Onebox v3.5.0.beta9-dev

und Spotify ist damit einverstanden und liefert die vollständige Seite:

○ → curl -s --user-agent 'Discourse Forum Onebox v3.5.0.beta9-dev' 'https://open.spotify.com/album/1nrWysWdrgPR0kBJ45z2aS?si=FurcwGpfSrWJBPGwKeCvDQ' | htmlq 'meta[property^="og:description"], meta[property^="og:site_name"], title'
<title>The First Symphony - Album von Indecent | Spotify</title>
<meta content="Spotify" property="og:site_name">
<meta content="Indecent · Album · 2024 · 12 songs" property="og:description">
<meta content="Spotify" property="og:site_name">

aber für die Inline-Onebox verwenden wir:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15

Das ist letztendlich der Grund, warum wir unterschiedliche Verhaltensweisen haben, obwohl ich immer noch fragen würde, warum wir hier nicht die Open-Graph-Eigenschaften verwenden? Spotify liefert diese immer noch aus, obwohl es ein nicht unterstützter Browser ist:

○ → curl -s --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15' 'https://open.spotify.com/album/1nrWysWdrgPR0kBJ45z2aS?si=FurcwGpfSrWJBPGwKeCvDQ' | htmlq 'meta[property^="og:description"], meta[property^="og:site_name"], title'
<title>Nicht unterstützter Browser</title>
<meta content="Spotify" property="og:site_name">
<meta content="Indecent · Album · 2024 · 12 songs" property="og:description">
<meta content="Spotify" property="og:site_name">
alle Eigenschaften
○ → curl -s --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15' 'https://open.spotify.com/album/1nrWysWdrgPR0kBJ45z2aS?si=FurcwGpfSrWJBPGwKeCvDQ' | htmlq 'meta[property^="og:"]'
<meta content="Spotify" property="og:site_name">
<meta content="The First Symphony" property="og:title">
<meta content="Indecent · Album · 2024 · 12 songs" property="og:description">
<meta content="https://open.spotify.com/album/1nrWysWdrgPR0kBJ45z2aS" property="og:url">
<meta content="music.album" property="og:type">
<meta content="Spotify" property="og:site_name">
<meta content="AR" property="og:restrictions:country:allowed">
…
<meta content="XK" property="og:restrictions:country:allowed">
<meta content="https://i.scdn.co/image/ab67616d0000b273ff9434b9650f38d183e91fb1" property="og:image">
2 „Gefällt mir“

Hmmm:

Da \u003ctitle\u003e in unserer Implementierung Vorrang vor Open Graph hat und wir den String „Unsupported browser“ nicht fest codieren wollen…

FIX: update final destination to use more recent user agent by SamSaffron · Pull Request #34207 · discourse/discourse · GitHub sollte das beheben…

Das fühlt sich aber sehr alt an:

DEFAULT_USER_AGENT =\n \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15\"

hmmm… jetzt gibt uns Spotify den Titel “Spotify” :slight_smile: wir werden benutzerdefinierten “Spotify”-Code benötigen :frowning: wenn wir den Albumtitel bekommen wollen.

2 „Gefällt mir“