如何使用javascript

时间:2015-12-04 06:46:19

标签: javascript visual-studio-2013 outlook office365

如何使用Visual Studio项目中的REST API连接到Office 365, 从过去的一周开始,我尝试使用其API连接office 365

function accessO365() {
    alert("Acces O365 method called");
    var authContext;
    var authToken; // for use with creating an outlookClient later.
    authContext = new O365Auth.Context();
    authContext.getIdToken("https://outlook.office365.com/")
       .then((function (token) {
           authToken = token;
           // The auth token also carries additional information. For example:    
           userName = token.givenName + " " + token.familyName;
       }).bind(this), function (reason) {
           console.log('Failed to login. Error = ' + reason.message);
       });
    // Once the authToken has been acquired, create an outlookClient. One place to do this is inside of the
    //    ".then" function callback of authContext.getIdToken(...) above.
    var outlookClient = new Microsoft.OutlookServices.Client('https://outlook.office365.com/api/v1.0', authToken.getAccessTokenFn('https://outlook.office365.com'));
    outlookClient.me.events.getEvents().fetch().then(function (result) {
        result.currentPage.forEach(function (event) {
            console.log('Event "' + event.subject + '"')
        });
    }, function (error) {
        console.log(error);
    });
}

这是我之前在VS项目中使用的代码,但它显示为未定义的o365auth? 我该如何解决这个问题,是否有更好的方法使用javascript连接到Office 365

1 个答案:

答案 0 :(得分:1)

以下是使用统一o365 api访问日历事件的代码:

//下面的代码示例演示了如何使用Office 365统一API(预览)获取事件。

$.ajax('https://graph.microsoft.com/beta/me/Events', {
        headers: { 
           Authorization: 'Bearer {token:https://graph.microsoft.com/}',
            Accept: 'application/json;odata.metadata=none',
    }
}).then(function (response) {
        for (var i = 0; i < response.value.length; i++) {
            console.log('Event "' + response.value[i].Subject + '"');
        }
        console.log('\n' + 'Full JSON response:')
        console.log(response);
    }).fail(function (error) {
        console.log(error);
    });

在获取事件之前,请确保您拥有有效的访问令牌。

这是一个oauth沙箱,您可以在其中测试您的请求:

https://oauthplay.azurewebsites.net/

希望这有帮助。