这个 Instagram API 电话有什么问题?
what is wrong with this Instagram API call?
这段代码有什么问题?我想拔头发!我正在从 Instagram API 获取 JSON。控制台日志只是 body 给了我 JSON,但是当我做类似 body.data 或 body.pagination 的事情时,我什么也得不到!请帮忙,谢谢。
var express = require("express"),
app = express(),
https = require("https"),
fs = require("fs"),
request = require("request");
request("https://api.instagram.com/v1/tags/nofilter/media/recent?access_token=xxxxx&scope=public_content&count=1", function(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // returns all the relevant JSON
console.log(body.data) // **returns undefined!!!!!**
}
}).pipe(fs.createWriteStream("./test.txt"))
body
就是字面意思——HTTP 响应的主体。换句话说,它是一个字符串 - 您需要 运行 通过 JSON.parse
才能将其作为对象实际访问。
console.log(JSON.parse(body).data);
显然,如果您打算真正使用它,您会将解析后的对象分配给一个变量,而不是每次访问它时 运行 都将其赋值。
这段代码有什么问题?我想拔头发!我正在从 Instagram API 获取 JSON。控制台日志只是 body 给了我 JSON,但是当我做类似 body.data 或 body.pagination 的事情时,我什么也得不到!请帮忙,谢谢。
var express = require("express"),
app = express(),
https = require("https"),
fs = require("fs"),
request = require("request");
request("https://api.instagram.com/v1/tags/nofilter/media/recent?access_token=xxxxx&scope=public_content&count=1", function(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // returns all the relevant JSON
console.log(body.data) // **returns undefined!!!!!**
}
}).pipe(fs.createWriteStream("./test.txt"))
body
就是字面意思——HTTP 响应的主体。换句话说,它是一个字符串 - 您需要 运行 通过 JSON.parse
才能将其作为对象实际访问。
console.log(JSON.parse(body).data);
显然,如果您打算真正使用它,您会将解析后的对象分配给一个变量,而不是每次访问它时 运行 都将其赋值。