无法在Azure中使用Javascript方法
我正在编写一个Azure函数来验证没有用户的Microsoft Graph。这需要从HTTPS响应返回的访问令牌。我正在尝试反序列化JSON对象,但是,我无法调用任何允许我从Microsoft响应中获取值的方法 我可以记录数据,但当我调用一个方法获取try并获取值时,函数有一个超时 //d=从Microsoft返回的数据 我尝试了以下方法,但都超时了:无法在Azure中使用Javascript方法,javascript,azure,Javascript,Azure,我正在编写一个Azure函数来验证没有用户的Microsoft Graph。这需要从HTTPS响应返回的访问令牌。我正在尝试反序列化JSON对象,但是,我无法调用任何允许我从Microsoft响应中获取值的方法 我可以记录数据,但当我调用一个方法获取try并获取值时,函数有一个超时 //d=从Microsoft返回的数据 我尝试了以下方法,但都超时了: JSON.parse(d) d.map() d.values() 我想知道是否有人知道我应该调用哪个库来访问这些方法-我想我需要在函数顶部使用r
JSON.parse(d)
d.map()
d.values()
我想知道是否有人知道我应该调用哪个库来访问这些方法-我想我需要在函数顶部使用require语句,但可能完全不正确。非常感谢您的帮助
var https = require('https');
var querystring = require('querystring');
module.exports = function (context, req) {
var postData = querystring.stringify({
'client_id': {client_id},
'scope': 'https://graph.microsoft.com/.default',
'client_secret': {client_secret},
'grant_type': 'client_credentials'
});
var options = {
hostname: 'login.microsoftonline.com',
port: 443,
path: '/{token}/oauth2/v2.0/token',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': postData.length
}
};
var oauthReq = https.request(options, (res) => {
res.setEncoding('utf8');
res.on('data', (d) => {
// vvvvv PROBLEM OCCURS HERE vvvvv
context.log('SERIALIZED DATA' + d.map())
context.log('DATA ' + d.values())
});
});
oauthReq.on('error', (e) => {
context.log('ERROR ' + e);
});
var wr_r = oauthReq.write(postData)
var rq_e = oauthReq.end();
};
我希望得到从HTTPS get调用的响应返回的access_令牌的值。我忽略了解析作为缓冲区返回的JSON响应(请参阅@SLaks的注释),一旦解析了响应,我就能够从JSON对象获得值
let accessToken=JSON.parse(d).access\u token代码>我忽略了解析作为缓冲区返回的JSON响应(请参见@SLaks的注释),一旦解析了响应,我就能够从JSON对象获取值
let accessToken=JSON.parse(d).access\u token
d
是一个字符串或缓冲区,它没有任何这样的方法。d
是一个字符串或缓冲区,它没有任何这样的方法。