我正在尝试为deployd后端创建一个自定义模块,以便使用instagram api进行身份验证。代码如下:
var request = require('request');
var payload = undefined;
process.server.on('request', function(req, res) {
if (req.url === '/foo') {
function getPayload(callback) {
var code = req.headers.referer.substr(req.headers.referer.lastIndexOf('/') + 1);
request.post('https://api.instagram.com/oauth/access_token', {form:{
client_id: '****',
client_secret: '****',
grant_type: 'authorization_code',
redirect_uri: 'http://localhost:2403/auth/auth.html',
code: code
}},
function(error, response, body) {
var payload = JSON.stringify(body);
console.log(payload);
callback();
});
}
function setPayload() {
res.end(payload);
}
getPayload(setPayload);
}
});
我可以从instagram服务器上调用console.log响应,但是当我尝试将响应写回客户端时,我得到了404响应。我错过了什么?对不起,如果这是一个总的菜鸟问题。那是因为我是个菜鸟。提前谢谢。
抱歉缺乏清晰度。编辑更多信息:我正在使用上面的代码在/ foo创建一个端点。客户端从包含Instagram访问代码的引用URL向/ foo发送GET请求。然后,服务器将访问代码与其他特定于应用程序的参数一起POST到Instagram服务器,该服务器返回包含授权令牌的对象和关于用户的信息。 404来自客户端GETs / foo。我的代码成功地将访问代码发送到Instagram服务器并返回包含访问令牌的对象 - 这在控制台上输出 - 但它不会将其写回客户端,并且客户端获得404.此外,404是在Instagram服务器返回的对象登录到控制台之前返回到客户端。