Pad_Pors
(Pad Pors)
8 Enero, 2020 11:42
1
¿por qué este enlace de Instagram genera un onebox así?
https://www.instagram.com/p/B3jG277hve9/
¡también no lleva a ningún lado si no uso texto con hipervínculo (puedes hacer clic en el enlace onebox de arriba)!
el enlace:
https://www.instagram.com/p/B3jG277hve9/
3 Me gusta
Mi suposición es que es una cuenta privada.
2 Me gusta
No, esa no es una cuenta privada. Aquí hay otro ejemplo de una publicación totalmente pública:
https://www.instagram.com/p/B6gUJwDl-lQ/
¡Vaya! He publicado https://www.instagram.com/p/B6gUJwDl-lQ/, pero el onebox redirige a este mismo tema…
(edita mi publicación para reproducir esto en el editor)
3 Me gusta
¿Qué diferencia hay entre esta foto y las demás?
2 Me gusta
Hector
(Héctor Fernández)
10 Enero, 2020 13:22
6
Parece que algunas páginas de Instagram tienen un enlace canónico con una URL diferente que requiere iniciar sesión. El código de la biblioteca onebox prefiere la URL canónica.
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')
Por ejemplo, estas son las URL canónicas de los Instagram en este tema:
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 Me gusta
Yo también estoy experimentando este problema. Estoy actualizando mi instalación ahora para ver si lo soluciona.
@techAPJ ¿puedes arreglar esto, por favor? Básicamente, ahora tenemos que ignorar los metadatos canónicos para Instagram.
6 Me gusta
techAPJ
(Arpit Jalan)
13 Enero, 2020 15:01
10
Realizado a través de:
committed 01:35PM - 13 Jan 20 UTC
Enlace de ejemplo:
https://www.instagram.com/p/B7Cz042qSxv/
10 Me gusta
jomaxro
(Joshua Rosenfeld)
21 Mayo, 2020 18:07
13
Parece que hemos retrocedido aquí, o Instagram ha cambiado algo de nuevo. Volvemos a mostrar solo “Iniciar sesión • Instagram”. cc @techAPJ
13 Me gusta
cvx
(Jarek Radosz)
22 Mayo, 2020 00:35
15
Eso es raro, esa imagen en Instagram ya no tiene etiquetas meta og:. No pude encontrar ninguna otra que las tuviera omitidas…
5 Me gusta
techAPJ
(Arpit Jalan)
22 Mayo, 2020 08:20
16
Lo extraño es que el onebox de Instagram funciona bien para mí localmente (en la última versión de Discourse). Y sí veo las etiquetas OpenGraph (og) en modo incógnito.
Será complicado reproducir este problema localmente… investigando más.
7 Me gusta
¿Es específico de esa imagen?
3 Me gusta
techAPJ
(Arpit Jalan)
22 Mayo, 2020 23:51
18
No, probé varias imágenes desde múltiples cuentas y todas funcionaron correctamente con oneboxing localmente.
Aquí hay una imagen de hace una hora en NatGeo que funciona bien con oneboxing localmente.
¿Podría ser un problema geográfico?
Por cierto, el oneboxing de Instagram también falla en discourse.codinghorror.com , así que este problema no es específico de meta.
5 Me gusta
Falco
(Falco)
23 Mayo, 2020 04:16
19
¿Quizás el agente de usuario cambia la respuesta?
9 Me gusta
znedw
(Zach Nedwich)
26 Mayo, 2020 04:55
20
1 me gusta
techAPJ
(Arpit Jalan)
26 Mayo, 2020 05:11
21
No lo creo. Usamos el mismo agente de usuario para todas las solicitudes realizadas desde la base de código de Discourse, según:
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 Me gusta
Richie
(Richie Rich)
26 Mayo, 2020 10:28
22
El mismo problema ahora en el nuestro aquí en el Reino Unido también.
techAPJ
(Arpit Jalan)
26 Mayo, 2020 10:34
23
Estoy actualizando Instagram onebox para usar los endpoints oEmbed oficiales . Tengo este cambio funcionando localmente y espero publicar una corrección más tarde hoy. Espero que los endpoints de oEmbed de Instagram no tengan restricciones geográficas.
6 Me gusta