获取 Instagram JSON 数据与请求的 JSON 输入意外结束
Unexpected end of JSON input getting Instagram JSON data with request
我正在尝试显示来自 instagram URL 的 JSON 数据:https://www.instagram.com/apple/?__a=1。
如果我把它放在浏览器中,它会显示 JSON,但我希望能够通过 express 获取它,这样我就可以尝试使用 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);
当我尝试在本地主机中部署它时,出现错误:
SyntaxError: Unexpected end of JSON input
如果您在浏览器中登录了 instagram,您将通过 cookie 进行身份验证,并且一切正常,但如果您未登录,url https://www.instagram.com/apple/?__a=1 会响应403(拒绝访问)错误。这是您的 back-end 代码的情况,因为您没有发送 cookie 或身份验证 headers。
您可能遇到错误,但没有检查请求回调(err
参数)中的错误。
根据 instagram developer documentation,您需要先注册您的应用程序并进行身份验证,然后才能使用 OAuth 凭据执行请求。
查看 request's documentation on OAuth signing 了解更多信息。
我正在尝试显示来自 instagram URL 的 JSON 数据:https://www.instagram.com/apple/?__a=1。
如果我把它放在浏览器中,它会显示 JSON,但我希望能够通过 express 获取它,这样我就可以尝试使用 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);
当我尝试在本地主机中部署它时,出现错误:
SyntaxError: Unexpected end of JSON input
如果您在浏览器中登录了 instagram,您将通过 cookie 进行身份验证,并且一切正常,但如果您未登录,url https://www.instagram.com/apple/?__a=1 会响应403(拒绝访问)错误。这是您的 back-end 代码的情况,因为您没有发送 cookie 或身份验证 headers。
您可能遇到错误,但没有检查请求回调(err
参数)中的错误。
根据 instagram developer documentation,您需要先注册您的应用程序并进行身份验证,然后才能使用 OAuth 凭据执行请求。
查看 request's documentation on OAuth signing 了解更多信息。