带有NodeJS的Instagram正在抛出404错误

时间:2016-03-14 11:24:34

标签: node.js instagram-api

var express = require('express'),
  instagram = require('instagram-node').instagram(),
  app = express();

  instagram.use({access_token: 'MY_ACCESS_TOKEN'});

instagram.use({
  client_id: 'my_client_id',
  client_secret: 'my_client_secret'  
});
app.get('/', function(req, res) {
  instagram.use({ access_token: 'MY_ACCESS_TOKEN' });
  instagram.media_popular(function(err, medias, remaining, limit) {
    if (err) {
        res.send(err.body);
    }      
    else  {
       console.log(medias);
       res.render('pages/index', { grams: medias });
    }
  });
});
app.listen(8888,function(){
  console.log("listening port 8888")
});

所以,这是我的代码。当我点击http://localhost:8888时,我会看到以下页面

enter image description here

  1. 我做错了什么?
  2. 为什么我在收到404页面时没有登录?

2 个答案:

答案 0 :(得分:0)

不确定问题是什么,但作为一种解决方法,您可以使用requestjs使用此方式发送GET请求

https://api.instagram.com/v1/media/popular?access_token=ACCESS-TOKEN

网址。您将获得相同的数据。可能不是一个明确的解决方案,但我知道这是肯定的。

答案 1 :(得分:0)

在通过网址时检查您的访问令牌。当我的网址不正确时,我收到了这个页面。

您可以在获取用于从Instagram获取用户数据的访问令牌后使用此代码。

exports.getUserData = function(req, res) {
    var outputJSON = "";
    var requestUrl = 'https://api.instagram.com/v1/users/self/?access_token=YOUR ACCESS TOKEN HERE';
    request.get({ url: requestUrl, json: true }, function(err, response, accessToken) {
        if (response.statusCode !== 200) {
            outputJSON = { 'status': 'failure', 'messageId': 403, 'message': err };
        } else {
            outputJSON = { 'status': 'success', 'messageId': 200, 'data': response.body }
                //console.log('response',response.body);
        }
        res.jsonp(outputJSON);
    });
}