1

我正在尝试为已部署的后端创建一个自定义模块,以使用 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);
}
});

我可以 console.log 来自 instagram 服务器的响应,但是当我尝试将响应写回客户端时,我得到一个 404 响应。我错过了什么?对不起,如果这是一个完全的菜鸟问题。那是因为我是菜鸟。提前致谢。

抱歉,不清楚。编辑以获取更多信息:我正在使用上面的代码在 /foo 创建一个端点。客户端从包含 Instagram 访问代码的引用 URL 向 /foo 发送 GET 请求。然后服务器将访问代码连同其他特定于应用程序的参数一起发布到 Instagram 服务器,该服务器返回一个包含授权令牌和有关用户的信息的对象。404 出现在客户端获取 /foo 的地方。我的代码成功地将访问代码发送到 Instagram 服务器并返回包含访问令牌的对象 - 这在控制台上输出 - 但它不会将其写回客户端,并且客户端得到 404。此外,404 是在 Instagram 服务器返回的对象登录到控制台之前返回给客户端。

4

0 回答 0