인라인 원박스(inline onebox)의 제목이 잘못되었습니다(우리의 책임은 아니지만):
인라인: Spotify
소스:
https://open.spotify.com/album/1nrWysWdrgPR0kBJ45z2aS?si=FurcwGpfSrWJBPGwKeCvDQ
인라인: https://open.spotify.com/album/1nrWysWdrgPR0kBJ45z2aS?si=FurcwGpfSrWJBPGwKeCvDQ
이미지 (미리보기):
이미지 (렌더링됨):
4개의 좋아요
크롤러에서 사용하는 사용자 에이전트의 브라우저 버전을 업데이트해야 할까요? 현재 Safari 14를 사용하는 것 같습니다.
해당 Safari 버전에서 해당 URL을 직접 방문하면 다음과 같습니다:
사용자 에이전트가 일관되지 않습니다.
풀(onebox 전체) 버전에는 다음을 사용합니다:
Discourse Forum Onebox v3.5.0.beta9-dev
Spotify는 이 사용자 에이전트를 허용하며 전체 페이지를 제공합니다:
○ → 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">
하지만 인라인(inline) onebox에는 다음을 사용합니다:
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
결국 이것이 서로 다른 동작을 보이는 원인입니다. 하지만 왜 여기서 opengraph 속성을 사용하지 않는지 여전히 의문이 듭니다. Spotify는 비지원 브라우저임에도 불구하고 여전히 해당 속성을 제공하고 있습니다:
○ → 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">
all properties
○ → 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개의 좋아요
sam
(Sam Saffron)
4
음:
우리의 구현에서는 <title>이 open graph보다 우선순위가 높고, "Unsupported browser"라는 문자열을 하드코딩하고 싶지 않기 때문입니다…
FIX: update final destination to use more recent user agent - Pull Request #34207 - discourse/discourse - GitHub 로 이 문제가 수정될 것 같습니다…
하지만 이건 꽤 오래된 것 같습니다:
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"
sam
(Sam Saffron)
7
음… 이제 스포티파이가 제목을 "spotify"로 줍니다
앨범 이름을 가져오려면 커스텀 “spotify” 코드가 필요할 것 같습니다 
2개의 좋아요