我无法计算我在CORS上发誓的次数。 现在我们正在尝试访问outlook API来发送电子邮件和内容。我们按照教程,在Postman上做一切,并且有效。现在我们想在Angular 2应用程序中使用以下代码实现它:
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