小编MrP*_*iao的帖子

ajax获取Office365 REST Api请求失败CORS?

我正在尝试从本地服务器向Office365 RESTful API服务发出ajax GET请求,但遇到了跨域HTTPRequest错误.以下是我的'get-files-at-root'尝试的示例:

$.ajax({
  url: 'https://[sharepoint_site]/_api/v1.0/me/files?access_token='+token,
  type: 'get',
  dataType: 'json',
  success: function(data) {
    if (success){
      success(data);
    }
  },
  error: error
})
Run Code Online (Sandbox Code Playgroud)

我从服务器得到以下响应:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 403.
Run Code Online (Sandbox Code Playgroud)

我已经尝试将访问令牌作为标头参数发送:

headers: {'Authorization': 'Bearer '+ token}
Run Code Online (Sandbox Code Playgroud)

但这也有同样的结果.

关于我做错了什么的任何想法?

(背景:我正在尝试在客户端上创建自己的Office365'文件选择器',因为我找不到提供此功能的OneDrive Business的可用库.)

ajax cors office365

8
推荐指数
1
解决办法
2601
查看次数

Office 365 EWS日历访问提供了ErrorTooManyObjectsOpened

我们使用针对Office 365的Exchange Web服务(EWS)API在用户的日历中创建日历事件。这对于本地部署来说效果很好,但是对于Office 365部署,我们似乎很快就达到了限制。

创建16个事件之后,在16个不同用户的日历中(通过服务帐户,使用对日历的委托访问),我们收到以下错误:

ErrorTooManyObjectsOpened-打开的并发连接太多

大约5分钟后,此错误将清除,我们可以继续创建事件。看来EWS服务器缓存了到邮箱的连接,而Office 365似乎只允许一次连接到16个邮箱。

我们为克服此错误做了很多尝试,但没有找到“最终”解决方案或解决方法。我们尝试了什么:

  • 使用模拟代替委派:这可行,但是从安全角度来看是不可行的。
  • 使用多个服务帐户:虽然每个帐户仍每5分钟限制为16个用户,但这可以起作用。
  • 我们尝试了X-AnchorMailboxand X-PreferServerAffinity标头,并在不使用HTTP和不使用HTTP cookie的情况下使请求保持活动状态,并在不使用HTTP cookie的情况下发出请求。从调试信息中我们可以看到,如果我们保留cookie /连接,我们通常会在同一前端服务器和后端服务器上工作;如果我们丢弃cookie却发送一个X-AnchorMailbox标头,那么我们通常会在不同的前端服务器上工作。
  • 我们尚未尝试过REST API,因为客户端凭据流尚不可用

只有CreateItems通话似乎会导致此问题,我们可以FindItems为许多用户提供服务而不会达到限制。

是否有人知道克服此限制的方法,例如,我们可以做一些呼叫来关闭Office 365端的缓存邮箱会话吗?或者会议室中是否有Office 365管理员可以阐明确切的限制条件,为什么它们比内部Exchange限制条件低很多?

其他详细信息:我们正在使用EWS Java API的修改版,但已进行了广泛的研究,并且非常确定此问题是在服务器端。

java exchangewebservices office365

5
推荐指数
1
解决办法
1108
查看次数

从MS Office加载项向第三方服务器发出AJAX请求

我试图从我的Office(Outlook)加载项中获取jQuery GET请求,但我只收到错误消息"访问被拒绝".在这一点上,文档真的很稀疏,或者至少很难找到.谁知道什么可能是错的?

ajax jquery outlook-web-addins

5
推荐指数
1
解决办法
691
查看次数

我们如何使用Office 365 java-script API在撰写模式下读取邮件正文

我们如何使用Office 365 JavaScript API在撰写模式下阅读邮件?

如:

Office.initialize = function (reason) {
    var body = Office.context.mailbox.item.body;
};
Run Code Online (Sandbox Code Playgroud)

office365 office365-apps outlook-web-addins

3
推荐指数
1
解决办法
865
查看次数

任何用于注销 Office 365 用户的 Office 365 REST API?

是否有任何 Office 365 REST API 可以像单点退出那样从 azure 活动目录中退出 office 365 的用户?

office365 azure-active-directory

1
推荐指数
1
解决办法
2988
查看次数