node.js - Office 365 'Create Event' Rest API is giving error -


i new user on stackoverflow in office 365 development using node.js.

i getting user(my own office 365 account) mails,calendar events using tutorial (https://dev.outlook.com/restgettingstarted/tutorial/node)

but when trying create event in calender gives me below error "{"error":{"code":"erroraccessdenied","message":"access denied. check credentials , try again."}}"

please provide me suggestions on same.

below code creating event copied [https://msdn.microsoft.com/office/office365/api/calendar-rest-operations#createevents] here

    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 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 = "abc@abcdt.onmicrosoft.com";  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); 

});

}

make sure app has requested calendar.readwrite permission , need create new events. in example followed, app registered calendar.read permissions (see below). your app requested calendar.read permission

you should instead go https://dev.outlook.com/appregistration register app calendar.readwrite permission required create new events.request calendar.readwrite permission


Comments