在express server内部提取-未定义提取

在express server内部提取-未定义提取,express,facebook-graph-api,fetch,Express,Facebook Graph Api,Fetch,我正在尝试从facebook获取一个长寿命访问令牌。。。根据文档,为了安全起见,我需要从服务器端获取。如果我从客户端获取,它工作正常-但我应该遵循指导原则。。下面是我正在做的事情-您能告诉我为什么会出现服务器端错误“Reference error:fetch未定义”吗 首先,我从前端创建了一条路由来请求长寿命令牌。要获取长寿命令牌,我需要使用短命令牌,因此我在req参数中发送短命令牌。变量userAccessTokenShort有效且已定义 const newLongLivedUserAcces

我正在尝试从facebook获取一个长寿命访问令牌。。。根据文档,为了安全起见,我需要从服务器端获取。如果我从客户端获取,它工作正常-但我应该遵循指导原则。。下面是我正在做的事情-您能告诉我为什么会出现服务器端错误“Reference error:fetch未定义”吗

首先,我从前端创建了一条路由来请求长寿命令牌。要获取长寿命令牌,我需要使用短命令牌,因此我在req参数中发送短命令牌。变量userAccessTokenShort有效且已定义

const newLongLivedUserAccessToken = await fetch(`/api/autoquotegenerators/longLivedUserToken/${userAccessTokenShort}`, {
            method: 'GET',
            headers: {
                Authorization: `Bearer ${token}`,
                "Content-Type": "application/json; charset=UTF-8",
            },
        })
        const newLongUserTokenRes = await newLongLivedUserAccessToken.json()
        console.log(newLongUserTokenRes)
然后,在我的express服务器上,我创建了一条路由,用于处理到Facebook Graph API的获取请求。这就是我得到参考错误的地方

//Get Long Lived User Access Token on Backend /express route
router.get('/longLivedUserToken/:shortLived', (req, res) => {
    try {
        const getLongToken = fetch(`https://graph.facebook.com/v7.0/oauth/access_token?grant_type=fb_exchange_token&client_id=#############&client_secret=################&fb_exchange_token=${req.params.shortLived}`)
        .then(token => res.send(token))

    } catch (error) {
        console.log(error)
    }
})
如果一切顺利,则应将新令牌发送回客户端

谢谢你的帮助

node.js中没有内置的
fetch()
函数。如果您希望在浏览器中看到类似于
fetch()
的内容,可以查看NPM中的

或者,您可以在node.js中进行选择。我最喜欢的是


仅供参考,获取http请求的内置接口是
http.request()
http.get()
,但它们的级别较低,需要更多的代码行来完成比上述任何模块都简单的任务。

Wow。。好啊现在我知道没有内置fetch()!让它工作,并得到了来自服务器的甜蜜响应。非常感谢。