如何使用 Express JS 和 Jade 访问 instagram API?
Posted
技术标签:
【中文标题】如何使用 Express JS 和 Jade 访问 instagram API?【英文标题】:How do I access the instagram API with Express JS and Jade? 【发布时间】:2014-04-22 15:39:58 【问题描述】:我在获取 Instagram API 的信息并将其发送到 Jade 以在前端呈现时遇到了一些问题。
app.route("/api")
.get(function(req, res)
var url = "https://api.instagram.com/v1/users/1234/media/recent/?client_id=XXXX";
request(url, function(err, res, data)
console.log(JSON.parse(data));
// does this go here
res.render('show', media : data);
);
// or here?
res.render('show', media : data);
);
我正在尝试从此 API 路径中收集 10 张图像并将它们发送给 Jade。我在我的终端中收到了几个条目的解析响应。我很难弄清楚如何向 Jade 文件发送多个响应,然后让 Jade 文件循环遍历它们。
我知道url
变量中的用户 ID 和客户端 ID 不正确。如果您有任何替代方法来使用request()
,我也对此持开放态度。
【问题讨论】:
您似乎拥有正确的代码。 Jade 没有“多次”调用。只有一个,然后玉被渲染并发送到浏览器。您可以让 Jade 在您的“数据”变量中存在的任何数组中进行迭代。 【参考方案1】:所以我在这个问题上回答我自己的问题。渲染必须在 request() 函数内。问题出在我的回调中。问题是我有“res”作为我的 .get 和我的 request() 回调的响应。当我将 request() 函数中的“res”更改为“response”时,我不再遇到任何问题。 Jade文件也在下面
app.route("/api2")
.get(function(req, res)
var url = "https://api.instagram.com/v1/users/1234/media/recent/?client_id=XXXX";
request(url, function(err, response, body)
var dataGram = JSON.parse(body);
res.render('show', dataGram);
);
);
翡翠档案:
each thing in data
h1 id : #thing.id
img(src="#thing.images.thumbnail.url")
a(href="#thing.link" target="_blank") link
h3 filter : #thing.filter
【讨论】:
回答中的要求是什么以上是关于如何使用 Express JS 和 Jade 访问 instagram API?的主要内容,如果未能解决你的问题,请参考以下文章
您如何在 Node.js + Express + Mongoose + Jade 中处理表单验证,尤其是嵌套模型
Express JS、Mongoose JS 和 Jade 中的 Textarea 换行符