Office 365“创建事件” Rest API提供了错误

rkp

我是stackoverflow以及使用node.js的Office 365开发中的新用户。

我正在使用本教程(https://dev.outlook.com/RestGettingStarted/Tutorial/node成功获取用户(我自己的Office 365帐户)邮件,日历事件。

但是当我尝试在日历中创建事件时,它给我以下错误“ {“错误”:{“代码”:“ ErrorAccessDenied”,“消息”:“访问被拒绝。检查凭据,然后重试。“}}”

请提供相同的建议给我。

下面是我从复制[创建事件的代码https://msdn.microsoft.com/office/office365/APi/calendar-rest-operations#CreateEvents]在这里

    function createEvent(response, request) {
var cookieName = 'node-tutorial-token';
   var cookie = request.headers.cookie;
//    if (cookie && cookie.indexOf(cookieName) !== -1) {
        console.log("Cookie: ", cookie);
        // Found our token, extract it from the cookie value
        var start = cookie.indexOf(cookieName) + cookieName.length + 1;
        var end = cookie.indexOf(';', start);
        end = end === -1 ? cookie.length : end;
        var token = cookie.substring(start, end);
        console.log("Token found in cookie: " + token);

var event = new outlook.Microsoft.OutlookServices.Event();
event.subject = 'Your Subject';
event.start = new Date("October 30, 2014 11:13:00").toISOString();
event.end = new Date("October 30, 2014 12:13:00").toISOString();

// Body
event.body = new outlook.Microsoft.OutlookServices.ItemBody();
event.body.content = 'Body Content';
event.body.contentType = outlook.Microsoft.OutlookServices.BodyType.Text;

// Location
event.location = new outlook.Microsoft.OutlookServices.Location();
event.location.displayName = 'Location';

// Attendee
var attendee1 = new outlook.Microsoft.OutlookServices.Attendee();
var emailAddress1 = new outlook.Microsoft.OutlookServices.EmailAddress();
emailAddress1.name = "abc";
emailAddress1.address = "[email protected]";

attendee1.emailAddress = emailAddress1;

event.attendees.push(attendee1);
 var outlookClient = new outlook.Microsoft.OutlookServices.Client('https://outlook.office365.com/api/v1.0', 
       authHelper.getAccessTokenFn(token));

outlookClient.me.calendar.events.addEvent(event)
    .then(function (response) {
    console.log(response._Id);
}, function (error) {
        console.log(error);

});

}

Venkat Ayyadevara-MSFT

确保您的应用已请求calendar.readwrite权限,并且您需要此权限来创建新事件。在您遵循的示例中,您的应用仅注册了Calendar.Read权限(请参见下文)。您的应用请求了Calendar.Read权限

相反,您应该转到https://dev.outlook.com/AppRegistration来注册具有Calendar.ReadWrite权限的应用程序,这是创建新事件所必需的。要求Calendar.ReadWrite权限

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章