我正在尝试使用Instagram real-time api,但我无法使其发挥作用。我创建了一个express.js服务器,响应订阅创建时的挑战验证。我的订阅详情得到了json回复,我可以从Instagram API列出我当前的订阅。
一切正常......除了我没有收到POST请求。有什么想法吗?
问候!
答案 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);