我正在尝试从本地服务器向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的可用库.)
我们使用针对Office 365的Exchange Web服务(EWS)API在用户的日历中创建日历事件。这对于本地部署来说效果很好,但是对于Office 365部署,我们似乎很快就达到了限制。
创建16个事件之后,在16个不同用户的日历中(通过服务帐户,使用对日历的委托访问),我们收到以下错误:
ErrorTooManyObjectsOpened-打开的并发连接太多
大约5分钟后,此错误将清除,我们可以继续创建事件。看来EWS服务器缓存了到邮箱的连接,而Office 365似乎只允许一次连接到16个邮箱。
我们为克服此错误做了很多尝试,但没有找到“最终”解决方案或解决方法。我们尝试了什么:
X-AnchorMailboxand X-PreferServerAffinity标头,并在不使用HTTP和不使用HTTP cookie的情况下使请求保持活动状态,并在不使用HTTP cookie的情况下发出请求。从调试信息中我们可以看到,如果我们保留cookie /连接,我们通常会在同一前端服务器和后端服务器上工作;如果我们丢弃cookie却发送一个X-AnchorMailbox标头,那么我们通常会在不同的前端服务器上工作。只有CreateItems通话似乎会导致此问题,我们可以FindItems为许多用户提供服务而不会达到限制。
是否有人知道克服此限制的方法,例如,我们可以做一些呼叫来关闭Office 365端的缓存邮箱会话吗?或者会议室中是否有Office 365管理员可以阐明确切的限制条件,为什么它们比内部Exchange限制条件低很多?
其他详细信息:我们正在使用EWS Java API的修改版,但已进行了广泛的研究,并且非常确定此问题是在服务器端。
我试图从我的Office(Outlook)加载项中获取jQuery GET请求,但我只收到错误消息"访问被拒绝".在这一点上,文档真的很稀疏,或者至少很难找到.谁知道什么可能是错的?
我们如何使用Office 365 JavaScript API在撰写模式下阅读邮件?
如:
Office.initialize = function (reason) {
var body = Office.context.mailbox.item.body;
};
Run Code Online (Sandbox Code Playgroud) 是否有任何 Office 365 REST API 可以像单点退出那样从 azure 活动目录中退出 office 365 的用户?