Instagram TV oneboxing

Désolé si cela a déjà été discuté, mais la prise en charge des liens IGTV en onebox est-elle prévue dans la feuille de route ?

Lorsque j’essaie d’utiliser un lien IGTV, qui ressemble à https://www.instagram.com/tv/ID/, la réponse est similaire à celle décrite dans ce sujet :

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

En interrogeant ce lien avec cURL, on trouve des balises comme og:image, og:description, og:video, etc.

Après un rapide examen, l’URL n’est pas prise en charge par le moteur de oneboxing d’Instagram :

Merci.

3 « J'aime »

Cela devrait fonctionner, @jamie.wilson ?

2 « J'aime »

Un lien IGTV serait, tel qu’il est actuellement, acheminé via le generic oneboxer, ce qui fonctionnerait (probablement) pour les premières demandes provenant d’un site donné. Après un petit nombre de requêtes, IG (probablement) redirigera ces requêtes vers un écran de connexion, ce que @renato observe.

Comme le souligne @renato, le moteur onebox d’IG n’est pas configuré pour gérer les liens de style IGTV. Je viens de créer une PR pour cela :

Cela signifie que le moteur onebox d’IG récupérera l’URL IG TV via le point de terminaison oEmbed officiel d’IG et, en supposant que vous ayez configuré un jeton d’accès, la requête d’URL onebox ne devrait pas être redirigée vers un écran de connexion.

(La demande de PR onebox nécessitera une augmentation de version de onebox, puis une mise à jour du Gemfile dans le noyau de Discourse.)

6 « J'aime »

Merci, vous êtes géniaux !

Une petite idée : pourrions-nous exploiter le champ og:video renvoyé (qui contient secure_url, type, width et height) pour afficher un lecteur vidéo, comme le fait le moteur générique ?

Nous utilisons le point de terminaison de l’API oEmbed d’Instagram, qui ne renvoie ni le type de média, ni l’URL du fichier vidéo, ni aucune autre information utile permettant de créer une onebox avec un lecteur intégré.

Bien que l’accès direct à la page contienne ces métadonnées, le faire plus d’une poignée de fois sans authentification semble déclencher un état côté serveur où l’authentification devient alors requise. C’est pourquoi le lien de votre premier message redirige vers une page de connexion.

En ce qui concerne la onebox, il semble que nous soyons assez limités dans ce que nous pouvons faire avec les liens IGTV pour le moment.

4 « J'aime »

En utilisant l’API oEmbed, un attribut html est renvoyé. J’ai remarqué qu’une ancienne discussion proposait d’utiliser ce html renvoyé, mais cela finit par pencher vers la solution actuelle.

Je comprends que l’approche actuelle soit plus propre et plus sûre, il est donc logique de la maintenir dans le noyau.

Ce n’est pas quelque chose dont j’ai réellement besoin pour le moment, mais si j’en avais besoin, serait-il faisable de créer un plugin personnalisé pour utiliser cette intégration « officielle » d’Instagram – en imposant une hauteur fixe et en revenant à la solution du noyau en cas d’échec ? Puis-je avoir un autre moteur Onebox avec le même matches_regexp ou devrais-je essayer de faire du monkey patching sur Onebox::Engine::InstagramOnebox ?

Merci.

L’attribut priority peut aider à contrôler quels moteurs correspondent à des URL spécifiques.

Notez également l’approche adoptée par RedditMediaOnebox. Il tentera de renvoyer du HTML personnalisé, mais reviendra à un onebox générique s’il ne sait pas comment traiter ce type de résultat spécifique.

4 « J'aime »