需要从SharePoint在线站点捕获Outlook日历事件。为此我使用rest API。为了捕获事件,我在outlook开发中心创建了一个应用程序。通过使用此客户端ID,我可以授权用户并获得响应授权代码。但我无法使用客户端ID,客户端密钥获取Access令牌。它会抛出“未经授权的客户端,API版本不支持应用程序xxx”错误。我在Postman API中也会遇到相同的错误。但是,我可以在尝试“oAuth SandBox”(https://oauthplay.azurewebsites.net/)时获取日历事件,我可以获得事件。我的sharepoint在线网站上有一个内容编辑器来获取Access令牌。以下是我在内容编辑器中使用的代码
jQuery.ajax({ url:“//outlook.office365.com/common/oauth2/token”, 类型:“post”, 标题:{ “内容类型”:“应用程序/ x WWW的形式进行了urlencoded” }, 数据:{ grant_type:“authorization_code”, 代码:myaccesscode, client_id:myclientID, client_secret:myclientsecret, REDIRECT_URI: “https://myredirecturl” }, 成功:功能(响应){ 警报(响应); } 失败:功能(status.err) { 警报( “失败”); } });
提前致谢。
答案 0 :(得分:0)
我找到了解决方案。要获取Outlook日历事件,需要执行以下步骤:1。获取访问代码2.使用上述步骤中获取的访问代码获取访问令牌。 3.通过将在步骤2中获取的Access令牌作为授权标头传递来获取事件。
答案 1 :(得分:0)
获得访问代码后,您可以使用以下代码。
function GetEvents(token) {
var call = $.ajax({
url: "https://outlook.office.com/api/v2.0/me/events",
type: "GET",
dataType: "json",
headers: {
Accept: "application/json;odata.metadata=minimal;odata.streaming=true",
'Authorization': "Bearer " + token
},
success: function (data) {
//Success Call back
},
error: function (xhr) {
//error call back
}
});
}