Titolo onebox inline errato per le condivisioni di album Spotify

Il titolo per un onebox inline non è buono (non che stiamo dicendo che sia colpa nostra):

Inline: Spotify

fonte:

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

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

immagine (anteprima):

immagine (elaborata):

4 Mi Piace

Dobbiamo aggiornare la versione del browser nell’user agent che il nostro crawler sta utilizzando? Sembra che stiamo usando Safari 14?

Visitando l’URL manualmente in quella versione di Safari:

Non siamo coerenti con gli user agent.

Per il onebox completo utilizziamo:

Discourse Forum Onebox v3.5.0.beta9-dev

e Spotify va bene con questo e serve la pagina completa:

○ → 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 by 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">

ma per l’inline onebox utilizziamo:

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

Quindi è questo il motivo per cui otteniamo un comportamento diverso, anche se chiederei ancora perché non utilizziamo le proprietà opengraph qui? Spotify le sta ancora servendo nonostante sia un browser non supportato:

○ → 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>Unsupported 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">
tutte le proprietà
○ → 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 Mi Piace

Hmmm:

Perché <title> ha la precedenza su open graph nella nostra implementazione e non vogliamo codificare la stringa “Browser non supportato”…

FIX: update final destination to use more recent user agent by SamSaffron · Pull Request #34207 · discourse/discourse · GitHub dovrebbe risolvere questo problema…

Questo sembra molto vecchio però:

DEFAULT_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"

hmmm… ora spotify ci dà il titolo “spotify” :slight_smile: avremo bisogno di codice “spotify” personalizzato :frowning: se vogliamo ottenere il nome dell’album.

2 Mi Piace