Instagram TV oneboxing

Scusa se questo è già stato discusso in precedenza, ma il supporto per i link IGTV in onebox è previsto nella roadmap?

Quando provo a utilizzare un link IGTV, che ha un formato simile a https://www.instagram.com/tv/ID/, la risposta è simile a quella descritta in questo argomento:

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

Eseguendo un cURL su questo link, sono presenti tag come og:image, og:description, og:video, ecc.

Dopo una rapida occhiata, l’URL non è supportato nel motore di oneboxing di Instagram:

Grazie.

3 Mi Piace

Questo dovrebbe funzionare, @jamie.wilson?

2 Mi Piace

Un link IGTV, allo stato attuale, verrebbe instradato tramite il generico oneboxer, che probabilmente funzionerebbe per le prime richieste da un determinato sito. Dopo un piccolo numero di richieste, IG probabilmente reindirizzerà tali richieste a una schermata di accesso, ed è esattamente ciò che sta vedendo @renato.

Come osserva @renato, il motore onebox di IG non è configurato per gestire i link di tipo IGTV. Ho appena creato una PR per risolvere questo problema:

Ciò significa che il motore onebox di IG recupererà l’URL di IG TV tramite il punto di accesso oEmbed ufficiale di IG e, supponendo che tu abbia configurato un token di accesso, la richiesta dell’URL onebox non dovrebbe essere reindirizzata a una schermata di accesso.

(La PR onebox richiederà un aggiornamento della versione di onebox e, successivamente, un aggiornamento del Gemfile nel nucleo di Discourse.)

6 Mi Piace

Grazie, siete fantastici!

Solo un pensiero: potremmo sfruttare il og:video restituito (che contiene secure_url, type, width e height) per mostrare un player video, come fa il motore generico?

Stiamo utilizzando l’endpoint dell’API oEmbed di Instagram, che non restituisce il tipo di media, né l’URL del file video, né altre informazioni utili che ci permetterebbero di creare una onebox con un player incorporato.

Sebbene l’accesso diretto alla pagina contenga questi metadati, effettuarlo più di alcune volte senza autenticazione sembra attivare uno stato lato server che richiede l’autenticazione. È per questo motivo che il link nel tuo primo post punta a una pagina di login.

Per quanto riguarda le onebox, al momento sembriamo piuttosto limitati su ciò che possiamo fare con i link IGTV.

4 Mi Piace

Utilizzando l’API oEmbed viene restituito un attributo html; ho notato che c’è una vecchia discussione che propone di utilizzare questo html restituito, ma alla fine si tende verso la soluzione attuale.

Capisco che l’approccio attuale sia più pulito e sicuro, quindi ha senso mantenerlo nel core.

Non è qualcosa di cui ho davvero bisogno al momento, ma nel caso ne avessi bisogno, sarebbe fattibile creare un plugin personalizzato per utilizzare questo embedding “ufficiale” di Instagram, imponendo un’altezza fissa e ricorrendo alla soluzione core come fallback? Posso avere un altro motore Onebox con lo stesso matches_regexp o dovrei provare a fare un monkey patch su Onebox::Engine::InstagramOnebox?

Grazie.

priority può aiutare a controllare quali motori corrispondono a URL specifici.

Nota anche l’approccio adottato da RedditMediaOnebox. Cercherà di restituire HTML personalizzato, ma ricadrà su un onebox generico se non sa come elaborare quel specifico type di risultato.

4 Mi Piace