这个 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);

显然,如果您打算真正使用它,您会将解析后的对象分配给一个变量,而不是每次访问它时 运行 都将其赋值。