Instagram TV 원박싱

이전에 논의된 내용이라면 죄송합니다. 하지만 IGTV 링크의 원박스(oneboxing) 지원이 로드맵에 포함되어 있나요?

https://www.instagram.com/tv/ID/와 같은 IGTV 링크를 사용하려고 하면, 이 주제에서 설명된 것과 유사한 응답이 반환됩니다:

https://www.instagram.com/tv/CIlKL1OBwE0/?hl=pt-br

이 링크를 cURL로 요청하면 og:image, og:description, og:video 등의 메타데이터가 존재합니다.

간단히 살펴본 결과, 해당 URL은 Instagram 원박스 엔진에서 지원되지 않는 것 같습니다:

감사합니다.

3개의 좋아요

이렇게 하면 작동할까요 @jamie.wilson?

2개의 좋아요

현재 상태로는 IGTV 링크가 Generic oneboxer를 통해 라우팅되며, 이는 특정 사이트에서发出的 첫 번째 몇 번의 요청에는 (아마도) 작동할 것입니다. 소수의 요청 이후, IG는 (아마도) 해당 요청들을 로그인 화면으로 리다이렉트할 것이며, 이것이 @renato님이 보고 계신 현상입니다.

@renato님이 지적하신 대로, IG onebox 엔진은 IGTV 스타일 링크를 처리하도록 설정되어 있지 않습니다. 이를 위해 PR을刚刚 생성했습니다:

이것은 IG onebox 엔진이 공식 IG oEmbed 엔드포인트를 통해 IG TV URL을 가져오게 한다는 것을 의미하며, 액세스 토큰을 구성하셨다면, onebox URL 요청이 로그인 화면으로 리다이렉트되지 않아야 합니다.

(해당 onebox PR 요청은 onebox 버전 업데이트가 필요하며, 이후 Discourse 코어에서 Gemfile을 업데이트해야 합니다.)

6개의 좋아요

고마워요, 여러분 최고예요!

한 가지 생각인데, 반환되는 og:video(secure_url, type, width, height 포함)를 활용해서 generic engine처럼 비디오 플레이어를 표시할 수 있을까요?

우리는 Instagram oEmbed API 엔드포인트를 사용 중인데, 이 엔드포인트는 미디어 유형이나 비디오 파일 URL, 또는 임베드 플레이어를 포함한 원박스(onebox)를 구성할 수 있도록 해주는 다른 유용한 정보를 반환하지 않습니다.

페이지에 직접 접근하면 이러한 메타데이터를 확인할 수 있지만, 인증 없이 여러 번(수십 회 이상) 접근하면 원격 서버 측에서 인증을 요구하기 시작하는 상태가 트리거되는 것 같습니다. 이것이 첫 번째 게시물의 링크가 로그인 페이지를 가리키는 이유입니다.

원박스 처리 측면에서 현재 IGTV 링크로 할 수 있는 작업은 상당히 제한적인 것으로 보입니다.

4개의 좋아요

oEmbed API를 사용하면 반환되는 html 속성이 있는데, 이 반환된 html을 사용하자고 제안하는 오래된 토론이 있긴 하지만 결국 현재 솔루션 쪽으로 기울어 있습니다.

현재 방식이 더 깔끔하고 안전하다는 점을 이해하므로, 코어에 유지하는 것이 합리적이라고 생각합니다.

현재 저에게 꼭 필요한 것은 아니지만, 만약 필요하게 된다면 이 “공식” 인스타그램 임베딩을 사용하는 커스텀 플러그인 – 고정 높이를 강제하고 코어 솔루션으로 폴백하는 방식 – 이 가능할까요? 동일한 matches_regexp를 가진 다른 Onebox 엔진을 사용할 수 있나요, 아니면 Onebox::Engine::InstagramOnebox를 몽키 패칭(monkey patching)해야 하나요?

감사합니다.

priority는 특정 URL과 일치하는 엔진을 제어하는 데 도움이 됩니다.

또한 RedditMediaOnebox가 취하는 접근 방식에도 주목해 보세요. 이 엔진은 커스텀 HTML을 반환하려고 시도하지만, 해당 특정 type의 결과를 처리하는 방법을 알 수 없는 경우 일반 onebox로 폴백합니다.

4개의 좋아요