javascript - 使用带 Angular REST api 访问共享点列表给出 403

标签 javascript angular sharepoint azure-ad-msal sharepoint-rest-api

我正在尝试调用共享点 LIST REST API。我登录到共享点,在浏览器中输入类似

https://myserver.sharepoint.com/sites/mylist/_api/lists/getbytitle('OEC_Docs')/items

它按预期在浏览器中返回数据。但是,在我的 Angular 4 应用程序中使用如下代码会抛出 403

getDocs(){

  const httpOptions = {
      headers: new HttpHeaders({
          'Accept':  'application/json;odata=verbose',
          'Content-Type': 'application/json'
        })
      };

  return this.http.get(this.sharePointRestHost, httpOptions)
}

由于该应用程序在同一浏览器的 localhost 上运行,所以我希望它能正常工作。请告知如何修复它。

最佳答案

I am logged in to sharepoint

是的,您已登录,这就是您可以在浏览器中看到结果的原因

但是您的 Angular 应用程序很可能没有登录。这就是为什么它无法获取结果并获得 403(禁止访问)

尝试:

  1. 检查 api 文档,它们可能需要某些东西(cookie、 header 、 session )来在发出请求时授权我们的应用。

  2. 比较两种情况下的session、cookies、local storage,相信你会看出区别

关于javascript - 使用带 Angular REST api 访问共享点列表给出 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53111153/

相关文章:

javascript - AngularJS:ng-checked 没有真正绑定(bind)

angular - 将属性添加到 Angular 2 组件选择器

angular - Angular 4.3 中的单元测试 HttpClientModule : undefined return value from HttpTestingController. expectOne(url)

javascript - 通过 javascript 将下拉列表添加到自定义共享点功能区选项卡

c# - 在 SharePoint 应用程序页面 .aspx 上使用模型

javascript - 将 javascript 移至单独的文件,ajax 调用出现错误

javascript - 点击 anchor 有一个 child

javascript - 如何在 jQueryMobile 中使用来自不同 html 文件的相同面板

c# - 如何找到sharepoint使用的sqlserver名称(数据源)?

c# - Angular 7 到 dotnetcore 2.1 web api 调用没有响应