Instagram实时api

时间:2014-06-14 06:10:25

标签: real-time instagram-api

我正在尝试使用Instagram real-time api,但我无法使其发挥作用。我创建了一个express.js服务器,响应订阅创建时的挑战验证。我的订阅详情得到了json回复,我可以从Instagram API列出我当前的订阅。

一切正常......除了我没有收到POST请求。有什么想法吗?

问候!

1 个答案:

答案 0 :(得分:-1)

var inputs = document
  .getElementById( 'ancestorId' )
  .getElementsByTagName( 'input' )
;

的index.html

var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var request = require('request');

var bodyParser = require('body-parser');
app.use(bodyParser.json());

var CLIENT_ID ='';
var CLIENT_SECRET = '';
var CALLBACK_URL = 'http://website.com/subscribe';

app.get('/:object/:object_id', function (req, res) {
    var object = req.params.object;
    var object_id = req.params.object_id;

    io.on('connection', function (socket) {
        request.post('https://api.instagram.com/v1/subscriptions/', {form: {
            client_id: CLIENT_ID,
            client_secret: CLIENT_SECRET,
            aspect: 'media',
            object: object,
            object_id: object_id,
            callback_url: CALLBACK_URL
        }});

        socket.on('disconnect', function() {
            request.del('https://api.instagram.com/v1/subscriptions?client_secret='+CLIENT_SECRET+'&object=all&client_id='+CLIENT_ID)
        });
    });

    res.sendFile(__dirname + '/public/index.html');
})

app.get('/subscribe', function(req, res){
    res.send(req.query['hub.challenge']);
});

app.post('/subscribe', function (req, res) {
    io.emit('message', JSON.stringify(req.body));
})

http.listen(process.env.PORT);