获取展望日历

时间:2016-06-13 19:14:04

标签: jquery sharepoint outlook calendar

需要从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)         {           警报( “失败”);         }   });

提前致谢。

2 个答案:

答案 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
            }
        });
    }