如何通过JavaScript对Office365进行身份验证

时间:2014-08-22 04:22:51

标签: javascript cordova office365

如何使用不使用Visual Studio 2013的JavaScript页面中的Office365 API向Office365进行身份验证并向SharePoint Online发出REST请求。我想使用Cordova / PhoneGap进行调用。

我需要在JS中包含哪些文件以及需要调用哪种类型的方法。

PS:我无法为帖子创建新的Office365APIs标记。

2 个答案:

答案 0 :(得分:0)

我通过使用基本身份验证解决了问题。我不知道你使用的是哪个库,所以对于JQuery来说,它看起来就像这样。

$.getJSON({
'url': 'https://outlook.office365.com/EWS/OData/Me/Events',
'beforeSend': function(xhr) {
    xhr.setRequestHeader("Authentication",
        "Basic " + encodeBase64(username + ":" + password)
},
success: function(result) {
    alert('done');
}

});

我实际上并没有使用Microsoft的某个API,我自己写了所有请求。

答案 1 :(得分:0)

虽然你说"没有使用Visual Studio 2013"我猜你的意思是你想要使用JavaScript和Cordova。您可以使用Visual Studio 2015(或带有Apache Cordova Tools附加组件的Visual Studio 2013)构建Blank Cordova应用程序,然后使用添加连接服务添加Office 365 API。这将在您的项目中安装许多JavaScript文件,包括授权组件,这些组件将使您能够获得可以与REST调用一起使用的访问令牌。

var authContext = new O365Auth.Context();
authContext.getIdToken("https://outlook.office365.com/").then(function (token) {
        token.getAccessToken('https://outlook.office365.com').then(function (accessToken) {
                    var bearerToken = "Bearer " + accessToken;
                    $.ajax(someOffice365RequestUri, {
                        headers: {
                            "Authorization": bearerToken,
                            "Accept": "application/json;odata.metadata=minimal"
                        }
                    }).then(function (response) {
                          // do stuff with response data...
                    });

一旦掌握了一切,您当然可以选择使用您喜欢的任何工具进行开发。