如何使用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
答案 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/
希望这有帮助。