如何修復我的代碼以使其發送 json 數據作為對郵遞員 GET 請求的響應?

T888

我通過代碼接收的數據正在通過 cmd 輸出到 cmd,console.log但我似乎無法弄清楚如何使相同的數據可用於GET郵遞員的請求。謝謝

    const express = require('express');
const app = express();
const PORT = 5000;
const apicall = require('./apicall');
const request = require('request');

app.get('/', (req, res) => {
    res.send("Hello world!")
    
});
   
app.get('/getinfo', (req, res, body) => {
    const getToken = (url, callback) => {
        const options = {
            url: process.env.GET_TOKEN,
            json: true,
            body: {
                client_id: process.env.CLIENT_ID,
                client_secret: process.env.CLIENT_SECRET,
                grant_type: 'client_credentials'
            }
        };
    
        request.post(options, (err, res, body) => {
            if(err) {
                return console.log(err)
            }
            console.log(`Status: ${res.statusCode}`)
            console.log(body);
    
            callback(res);
        });
    }
    
    var AT = '';
    var info = '';
    getToken(process.env.GET_TOKEN, (res) => {
        AT = res.body.access_token;
        return AT;
    });
    
    const getGames = (url, accessToken, callback) => {
        const gameOptions = {
            url: process.env.GET_GAMES,
            method: 'GET',
            headers: {
                'Client-ID': process.env.CLIENT_ID,
                'Authorization': 'Bearer ' + accessToken
            }
        };
    
        request.get(gameOptions, (err, res, body) => {
            if(err) {
                return console.log(err);
            }
            let x = '';
            console.log(`Status: ${res.statusCode}`);
            console.log(JSON.parse(body));
            //res.send(parsed);
            //req.body.getinfo = JSON.parse(body);
        })
    }
    
    setTimeout(() => {
       getGames(process.env.GET_GAMES, AT, (response) => {
    
        });
    }, 1000);
    //res.send(JSON.parse(body));
});

app.listen(PORT, () => {
    console.log(`Example app listening on port ${PORT}`);
});
T888

您只需將其通過管道傳遞給響應 .pipe(res)

const express = require('express');
const app = express();
const PORT = 5000;
const apicall = require('./apicall');
const request = require('request');

app.get('/', (req, res) => {
    res.send("Hello world!")
    
});

app.get('/ne2', (req, res) => {
    //res.send('This is the new endpoint');
    apicall.getCall;
});
   
app.get('/getinfo', (req, res, body) => {
    const getToken = (url, callback) => {
        const options = {
            url: process.env.GET_TOKEN,
            json: true,
            body: {
                client_id: process.env.CLIENT_ID,
                client_secret: process.env.CLIENT_SECRET,
                grant_type: 'client_credentials'
            }
        };
    
        request.post(options, (err, res, body) => {
            if(err) {
                return console.log(err)
            }
            console.log(`Status: ${res.statusCode}`)
            console.log(body);
    
            callback(res);
        });
    }
    
    var AT = '';
    var info = '';
    getToken(process.env.GET_TOKEN, (res) => {
        AT = res.body.access_token;
        return AT;
    });
    
    const getGames = (url, accessToken, callback) => {
        const gameOptions = {
            url: process.env.GET_GAMES,
            method: 'GET',
            headers: {
                'Client-ID': process.env.CLIENT_ID,
                'Authorization': 'Bearer ' + accessToken
            }
        };
    
        request.get(gameOptions, (err, res, body) => {
            if(err) {
                return console.log(err);
            }
            let x = '';
            console.log(`Status: ${res.statusCode}`);
            //console.log(JSON.parse(body));
            info = JSON.parse(body);
            console.log(info);
            //res.send(parsed);
            //req.body.getinfo = JSON.parse(body);
        }).pipe(res);
    }
    
    setTimeout(() => {
       getGames(process.env.GET_GAMES, AT, (response) => {
    
        });
    }, 1000);
    //res.send(info);
    
});

app.listen(PORT, () => {
    console.log(`Example app listening on port ${PORT}`);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 boost::asio 從多個線程發送 http 請求。如何串行處理響應

如何在 Laravel 中使用 Brearer 令牌從 api 請求中獲取響應?

API 已解析但未發送對 /api/campaign/dynamicid 的響應,這可能會導致請求停滯。在下一個js

檢查對請求的響應是否成功的最簡單方法是什麼?

通過郵遞員向本地ubuntu機器發送post請求

jquery:發現來自ajax請求的html響應不起作用

如何使用郵遞員發出 POST 請求?

Apollo Client useQuery 對 GET 請求的反應鉤子

React、NextJS、Pusher 為每個請求返回多個響應

如果響應正文中的 id 具有依賴性,如何使用預請求腳本在郵遞員中設置 2 個集合變量?

郵遞員讀取json響應中的屬性,名稱保存在數組中

在 Scrapy 中發送 POST 請求後如何獲得 HTML 響應

在 node.js 中發出 api 請求並在/到函數調用者中獲取響應的問題

如何使用 POST 請求將 JSON 數據從 React 傳遞到 Django?

如何使 JSON 響應數據全局化 :)

在 Django 中發出 GET 請求後,如何使用用戶發送的數據填充我的表單?

Bamboo 能否根據 Curl 請求的 JSON 響應檢測失敗?

php 的 file_get_contents,不提供正確的 https 請求錯誤響應

郵遞員以 json 和圖像的形式發送數據

發送整數值作為對 NodeJS API 調用的響應時未收到響應

我是否需要向 Elasticsearch 發送響應搜索請求不需要的數據?

以 Query 作為對象的 GET 請求

將 httr GET 的 json 響應轉換為 R 中的數據幀

如何將響應對象屬性從數組轉換為請求 rxjs

如何將 Observable.forkJoin() 響應映射到相應的請求

OpenIddict 支持通過 GET 請求為郵遞員返回授權碼

Angular:如何從 http 請求列表中返回第一個成功響應

向 View Django 發送請求,沒有收到任何響應

Databricks Apache Spark HTTP 請求已發送,正在等待響應... 404 Not Found