Я пытаюсь показать фотографии из Instagram в моем приложении Ruby on Rails. Следующий код работает на моей локальной машине, но на моем сервере в AWS он не показывает изображения.
Во время создания data = JSON.parse file.read
, похоже, не возвращает никакого значения на сервере, но на моем ПКэто показывает JSON
. Чего мне не хватает?
<%
require "open-uri"
photo_count = 10
begin
file = open("https://www.instagram.com/#{@user.instagram}/?__a=1")
data = JSON.parse file.read
%>
<% data['graphql']['user']['edge_owner_to_timeline_media']['edges'].each do |instagram| %>
<div class="col-xl-6 xd">
<!-- Photo Box -->
<% @caption = instagram['node']['edge_media_to_caption']['edges'].count > 0 ? instagram['node']['edge_media_to_caption']['edges'][0]['node']['text'] : "" %>
<a href="<%=instagram['node']['display_url']%>" class="photo-box mfp-gallery" data-background-image="<%=instagram['node']['display_url']%>" data-toggle="lightbox" title="Instagram">
<div class="photo-box-content">
<span>Instagram</span>
</div>
</a>
</div>
<% end %>
<% rescue => ex %>
<% end %>
Обновление:
При выполнении файла file.read на моем локальном компьютере я вижу, что он показывает мне все данные пользователя Instagram следующим образом:
{"logging_page_id":"profilePage_31229027","show_suggested_profiles":false,"show_follow_dialog":false,"graphql":{"user":{"biography":"Inquiries to email@gmail.com\nAll images are under artist copyrights","blocked_by_viewer":false,"country_block":false,"external_url":"http://www.website.com/","external_url_linkshimmed":"https://l.instagram.com/?u=http%3A%2F%2Fwww.wrl ...
но на сервере я получаю это:
<!DOCTYPE html> <html lang="en" class="no-js not-logged-in client-root"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> Login • Instagram </title> <meta name="robots" content="noimageindex, noarchive"> <meta name="apple-mobile-web-app-status-bar-style" content="default"> <meta name="mobile-web-app-capable" content="yes"> <meta name="theme-color" content="#ffffff"> <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, viewport-fit=cover"> <link rel="manifest" href="/data/manifest.json">
что может быть не так?