San*_*kar 5 calendar node.js access-token oauth-2.0 office365api
我无法从office365日历API获取令牌,从最近7到8个月它正在工作但突然我得到错误"期望一个数组或一个可迭代的对象,但得到[对象空]".
你们可以在这里看到我的代码
var oauth2 = require("simple-oauth2")(ConfigOutlookCredentials);
var scopes = ["openid","offline_access","profile", //here 'profile' is added bz not able to getting EmailId in this function getEmailFromIdToken.
"https://outlook.office.com/mail.read",
"https://outlook.office.com/calendars.readwrite"
];
function getTokenFromCode(auth_code,callback) {
logger.MessageQueueLog.log("info","auth_code: "+auth_code+" || redirectUri: "+redirectUri+" || scopes: "+scopes);
oauth2.authCode.getToken({
code: auth_code,
redirect_uri: redirectUri,
scope: scopes.join(" ")
}, function(error, result) {
logger.MessageQueueLog.log("info","error: "+util.format('%j',error.message)+" || result: "+util.format('%j',result));
if (error) {
return callback(error,null);
} else {
var token = oauth2.accessToken.create(result);
return callback(null,token);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我在重定向到我的rediredct Url并且相同的代码传递到上面的函数"getTokenFromCode"后得到代码,我仍然得到错误即" 期望数组或可迭代对象但得到[对象空] ".
请帮我弄清楚问题.提前致谢.
小智 0
我有同样的错误。您正在使用https://github.com/jonathansamines/simple-oauth2中的 simple-oauth2-promise
我的解决方案是使用如下代码转移到https://github.com/lelylan/simple-oauth2 :
var oauth2 = require('simple-oauth2').create({
client: {
id: service_data.clientID,
secret: service_data.clientSecret
},
auth: {
tokenHost: service_data.site,
tokenPath: service_data.tokenPath
}
}
);
var tokenConfig = {
code: data.code,
redirect_uri: data.redirect_uri
};
return oauth2.authorizationCode.getToken(tokenConfig);
Run Code Online (Sandbox Code Playgroud)
这会返回一个承诺。希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |