CORS outlook api:不允许访问
我数不清我在CORS上咒骂了多少次。 现在我们正在尝试访问outlook API以发送电子邮件和其他内容。我们遵循教程,在邮递员上做所有的事情,这很有效。现在,我们想用以下代码在Angular 2应用程序中实现它:CORS outlook api:不允许访问,api,angular,http,typescript,outlook,Api,Angular,Http,Typescript,Outlook,我数不清我在CORS上咒骂了多少次。 现在我们正在尝试访问outlook API以发送电子邮件和其他内容。我们遵循教程,在邮递员上做所有的事情,这很有效。现在,我们想用以下代码在Angular 2应用程序中实现它: requestAccessToken(code: string) { if (code) { var headers = new Headers(); headers.append("Content-Type", 'application/x-www-form-urle
requestAccessToken(code: string)
{
if (code) {
var headers = new Headers();
headers.append("Content-Type", 'application/x-www-form-urlencoded');
var requestoptions = new RequestOptions({
headers: headers,
withCredentials: false // tried true too
})
let body = `grant_type=authorization_code&
redirect_uri=http://localhost:4200&
code=`+ code + `&
client_id=4e...ab&
client_secret=CE.....BC`
this.http.post("https://login.microsoftonline.com/common/oauth2/v2.0/token", body, requestoptions).subscribe((data) =>
{
console.log("data: " + data);
},
error =>
{
console.log("error: " + error);
});
}
}
我们的反应如下:
{
"token_type":"Bearer",
"scope":"calendars.read calendars.read.shared calendars.readwrite calendars.readwrite.shared contacts.read
contacts.read.shared mail.read
user.read",
"expires_in":3599,"ext_expires_in":0,
"access_token":"ey...NjQ",
"refresh_token":"OAQABAAA...Fd8JA"
}
这正是我想要的,但我无法从中提取令牌,我的浏览器会记录以下内容:
正如您所见,错误被记录,而不是数据,Chrome抱怨CORS。我真的被卡住了,互联网上说的唯一一件事就是更改服务器设置,这当然不可能通过URL登录。microsoftonline.com如果你得到这个答案,你就不能把
访问令牌
或刷新令牌
从中取出吗?不,订阅不转到第一部分,而是转到第二部分,即错误部分。正如你所看到的,日志只记录了错误对不起,公司代理,imgur是在“图像板”网站下归档的,我没有看到错误。但如果发生这种情况,则意味着您的应用程序未在服务器端注册。您不能在仪表板或其他地方设置它吗?在RequestOptions中,将header accept type设置为json header.append('accept','application/json');并检查响应标头访问控制允许源模式。。类似于访问控制允许源:*