我正在尝试使用 node-fetch 在函数中返回不记名令牌。但我遇到了以下问题:
import fetch from 'node-fetch'
export class APIToken {
async getToken() {
const tenant_id = '123';
const formData = new URLSearchParams();
formData.append('grant_type', 'password');
formData.append('scope', 'api://');
formData.append('client_secret', '123');
formData.append('client_id', '456');
formData.append('username', '[email protected]');
formData.append('password', 'password!!');
const response = await fetch(`https://login.microsoftonline.com//${tenant_id}//oauth2/token`, {
method: 'POST',
body: formData
});
const responseBody = await response.json();
const accessToken = responseBody.access_token;
return accessToken
}
}
结果:
responseBody is of type 'unknown'
在此行:
const accessToken = responseBody.access_token;
发现问题了。我必须安装不同版本的
node-fetch
npm install node-fetch@2
而不是
npm install node-fetch
这解决了我的问题。这是与切换到 ESM 相关的错误