Неожиданный конец ввода JSON при получении данных JSON из Instagram с запросом - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь отобразить URL-адрес Instagram формы данных JSON: https://www.instagram.com/apple/?__a=1.

Если я добавлю это в браузер, он покажет JSON, но я хочу иметь возможность получить его с помощью экспресс, чтобы я мог попытаться захватить любые данные, которые мне нужны, с этим URL

const express = require("express");
const Instagram = require("node-instagram").default;
const keys = require("./config/keys");
const app = express();
const request = require("request");

app.get("/", (req, res) => {
  const url = "https://www.instagram.com/apple/?__a=1";
  request(url, (err, response, body) => {
    const json = JSON.parse(body);
    console.log(json); 
    res.json(request.json);
  });
});

app.listen(5000);

Когда я пытаюсь развернуть это в localhost, я получаю сообщение об ошибке:

SyntaxError: Unexpected end of JSON input

1 Ответ

0 голосов
/ 08 ноября 2018

Если вы вошли в Instagram в своем браузере, вы получаете аутентификацию с помощью куки, и все работает нормально, но если вы не вошли в систему, URL https://www.instagram.com/apple/?__a=1 отвечает 403 (доступ запрещен) ошибка. Это относится к вашему внутреннему коду, поскольку вы не отправляете файлы cookie или заголовки аутентификации.

Возможно, вы получаете ошибку, но не проверяете ошибки в обратном вызове вашего запроса (параметр err).

Согласно документации разработчика instagram , вам необходимо зарегистрировать свое приложение и пройти аутентификацию, прежде чем вы сможете выполнить запрос с использованием учетных данных OAuth.

Проверьте документацию запроса на подпись OAuth для получения дополнительной информации.

...