Pad_Pors
(Pad Pors)
8 Gennaio 2020, 11:42am
1
Perché questo link di Instagram genera un onebox in questo modo?
https://www.instagram.com/p/B3jG277hve9/
Se non uso un testo ipertestualizzato, il link non porta a nessuna parte (puoi fare clic sul link oneboxed sopra)!
Il link:
https://www.instagram.com/p/B3jG277hve9/
3 Mi Piace
Secondo me è un account privato?
2 Mi Piace
No, non è un account privato. Ecco un altro esempio da un post completamente pubblico:
https://www.instagram.com/p/B6gUJwDl-lQ/
Wow, ho pubblicato https://www.instagram.com/p/B6gUJwDl-lQ/ ma il onebox reindirizza a questo stesso argomento…
(modifica il mio post per riprodurlo nell’editor)
3 Mi Piace
In che cosa questa foto è diversa dalle altre?
2 Mi Piace
Hector
(Héctor Fernández)
10 Gennaio 2020, 1:22pm
6
Sembra che alcune pagine di Instagram abbiano un link canonico con un URL diverso che richiede il login. Il codice nella libreria onebox preferisce l’URL canonico.
end
def self.fetch_html_doc(url, headers = nil, body_cacher = nil)
response = (fetch_response(url, headers: headers, body_cacher: body_cacher) rescue nil)
Nokogiri::HTML(response)
end
def self.fetch_response(location, redirect_limit: 5, domain: nil, headers: nil, body_cacher: nil)
redirect_limit = Onebox.options.redirect_limit if redirect_limit > Onebox.options.redirect_limit
raise Net::HTTPError.new('HTTP redirect too deep', location) if redirect_limit == 0
uri = Addressable::URI.parse(location)
uri = Addressable::URI.join(domain, uri) if !uri.host
use_body_cacher = body_cacher && body_cacher.respond_to?('fetch_cached_response_body')
Ad esempio, questi sono gli URL canonici degli account Instagram in questo argomento:
https://www.instagram.com/shaparakgroup.ir/p/B3jG277hve9/caption/backhand_index_pointing_right-chp-shprkh-ok_hand-black_small_square-khrt-wyzyt-hy-brsh-khs
https://www.instagram.com/dogsofinstagram/p/B6gUJwDl-lQ/caption/happy-holidays-writes-konaandcamper-misslolathegoldendoodle-camera_with_flash-by-sh
6 Mi Piace
Anche io sto riscontrando questo problema. Sto aggiornando la mia installazione per vedere se risolve.
@techAPJ puoi sistemarlo per favore? In pratica ora dobbiamo ignorare i metadati canonici per Instagram..
6 Mi Piace
techAPJ
(Arpit Jalan)
13 Gennaio 2020, 3:01pm
10
Effettuato tramite:
committed 01:35PM - 13 Jan 20 UTC
Esempio di link:
https://www.instagram.com/p/B7Cz042qSxv/
10 Mi Piace
jomaxro
(Joshua Rosenfeld)
21 Maggio 2020, 6:07pm
13
Sembra che siamo tornati indietro qui, o che Instagram abbia cambiato qualcosa di nuovo. Siamo di nuovo solo a mostrare “Accedi • Instagram”. cc @techAPJ
13 Mi Piace
cvx
(Jarek Radosz)
22 Maggio 2020, 12:35am
15
Strano, quell’immagine su Instagram non ha più i meta tag og:. Non ne ho trovati altri privi di questi…
5 Mi Piace
techAPJ
(Arpit Jalan)
22 Maggio 2020, 8:20am
16
La cosa strana è che la onebox di Instagram funziona correttamente per me in locale (sull’ultima versione di Discourse). E vedo i tag OpenGraph (og) in modalità incognito.
Riprodurre questo problema in locale sarà complicato… sto indagando ulteriormente.
7 Mi Piace
È specifico per quell’unica immagine?
3 Mi Piace
techAPJ
(Arpit Jalan)
22 Maggio 2020, 11:51pm
18
No, ho provato con più immagini da diversi account e tutte funzionavano correttamente in locale.
Ecco un’immagine di un’ora fa da NatGeo che funziona correttamente in locale.
Potrebbe essere un problema geografico?
A titolo informativo, anche su discourse.codinghorror.com il oneboxing di Instagram non funziona, quindi questo problema non è specifico di meta.
5 Mi Piace
Falco
(Falco)
23 Maggio 2020, 4:16am
19
Forse l’user agent modifica la risposta?
9 Mi Piace
znedw
(Zach Nedwich)
26 Maggio 2020, 4:55am
20
https://www.instagram.com/p/CAojxzfjO0y/
Anche sul nostro forum questo non funziona.
1 Mi Piace
techAPJ
(Arpit Jalan)
26 Maggio 2020, 5:11am
21
Non credo. Usiamo lo stesso user agent per tutte le richieste effettuate dal codice di Discourse, come da:
end
@status = :ready
@http_verb = @force_get_hosts.any? { |host| hostname_matches?(host) } ? :get : :head
@cookie = nil
@limited_ips = []
@verbose = @opts[:verbose] || false
@timeout = @opts[:timeout] || nil
@preserve_fragment_url = @preserve_fragment_url_hosts.any? { |host| hostname_matches?(host) }
@validate_uri = @opts.fetch(:validate_uri) { true }
@user_agent = @force_custom_user_agent_hosts.any? { |host| hostname_matches?(host) } ? Onebox.options.user_agent : "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
end
def self.connection_timeout
20
end
def timeout
@timeout || FinalDestination.connection_timeout
end
2 Mi Piace
Richie
(Richie Rich)
26 Maggio 2020, 10:28am
22
Stesso problema anche sul nostro, qui nel Regno Unito.
techAPJ
(Arpit Jalan)
26 Maggio 2020, 10:34am
23
Sto aggiornando Instagram onebox per utilizzare gli endpoint oEmbed ufficiali . Questa modifica funziona in locale e prevedo di pubblicare una correzione più tardi oggi. Speriamo che gli endpoint oEmbed di Instagram non abbiano restrizioni geografiche.
6 Mi Piace