Jul 09 2020
04:18 PM
- last edited on
Feb 01 2023
02:02 PM
by
TechCommunityAP
Jul 09 2020
04:18 PM
- last edited on
Feb 01 2023
02:02 PM
by
TechCommunityAP
Jul 12 2020 08:00 PM
Jul 15 2020 10:41 AM
Please find the code below:-
var spContext = new SP.ClientContext(context.pageContext.web.absoluteUrl);
var user = spContext.get_web().get_currentUser();
var alerts = user.get_alerts();
var list = spContext.get_web().get_lists().getByTitle("Announcements");
spContext.load(user);
spContext.load(alerts);
spContext.load(list);
return await new Promise((resolve, reject) => {
spContext.executeQueryAsync(async () => {
//Create new alert Object and Set its Properties
let notify = new SP.AlertCreationInformation;
notify.set_title(sharepointDetails.announcementDetails.alertTitle);
notify.set_alertFrequency(SP.AlertFrequency.immediate);
notify.set_alertType(SP.AlertType.list);
notify.set_list(list);
notify.set_deliveryChannels(SP.AlertDeliveryChannel.email);
notify.set_alwaysNotify(true);
notify.set_status(SP.AlertStatus.on);
notify.set_user(user);
notify.set_eventType(SP.AlertEventType.all);
notify.Filter = '0';
debugger;
alerts.add(notify);
user.update();
var result: number = await new Promise((resolve, reject) => {
spContext.executeQueryAsync(function () { // onSuccess
console.log("Alert added success fully")
resolve(1);
},
function (sender, args) { // onError
reject(args.get_message());
},
);
});
resolve(result);
}, (error) => {
console.error(`Error while fetching alerts for user. ${error}`);
reject(new Error(error));
});
});
Note : This works fine for full control user but giving "access denied .Unauthorized to access this resource" for read and contribute users. I have already check read and contribute user have create alerts rights.
Jul 17 2020 09:11 PM