【问题标题】:How do I access the instagram API with Express JS and Jade?如何使用 Express JS 和 Jade 访问 instagram API?
【发布时间】: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 在您的“数据”变量中存在的任何数组中进行迭代。

标签: node.js api express instagram mean-stack


【解决方案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}

【讨论】:

  • 回答中的要求是什么
猜你喜欢
  • 1970-01-01
  • 2013-04-19
  • 2013-08-03
  • 1970-01-01
  • 2013-08-03
  • 2013-07-01
  • 2018-07-21
  • 2020-06-06
  • 1970-01-01
相关资源
最近更新 更多