Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CORS outlook api:不允许访问_Api_Angular_Http_Typescript_Outlook - Fatal编程技术网

CORS outlook api:不允许访问

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

我数不清我在CORS上咒骂了多少次。 现在我们正在尝试访问outlook API以发送电子邮件和其他内容。我们遵循教程,在邮递员上做所有的事情,这很有效。现在,我们想用以下代码在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

如果你得到这个答案,你就不能把
访问令牌
刷新令牌
从中取出吗?不,订阅不转到第一部分,而是转到第二部分,即错误部分。正如你所看到的,日志只记录了错误对不起,公司代理,imgur是在“图像板”网站下归档的,我没有看到错误。但如果发生这种情况,则意味着您的应用程序未在服务器端注册。您不能在仪表板或其他地方设置它吗?在RequestOptions中,将header accept type设置为json header.append('accept','application/json');并检查响应标头访问控制允许源模式。。类似于访问控制允许源:*