The process of building custom applications and tools that interact with Microsoft SharePoint, including SharePoint Online in Microsoft 365.
Hi @Anonymous
Per my test, you can get all items id which AutopublishDate column date is equal to todays date and AutopublishTimes column time is equal to or smaller than todays time by rest api. And update column EventStatus in these items. Please refer to following code
function UpdateListItem()
{
GetItemId();
}
function GetItemId()
{
$.ajax
({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('Events')/items?$filter=(AutopublishDate eq datetime" + today.toISOString() + ") and (AutopublishTimes le datetime" + today.toISOString() + ')',
type: "GET",
headers:
{
"Accept": "application/json;odata=verbose"
},
success: function (data, status, xhr) {
var dataresults = data.d.results;
for (var i = 0; i < data.d.results.length; i++) {
var Id = data.d.results[i]["Id"];
UpdateListItemUsingItemId(Id);
}
},
error: function (xhr, status, error) {
console.log("Failed");
}
});
}
function UpdateListItemUsingItemId(Id) {
$.ajax
({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('Events')/items(" + Id +")",
type: "POST",
headers:
{
// Accept header: Specifies the format for response data from the server.
"Accept": "application/json;odata=verbose",
//Content-Type header: Specifies the format of the data that the client is sending to the server
"Content-Type": "application/json;odata=verbose",
// IF-MATCH header: Provides a way to verify that the object being changed has not been changed since it was last retrieved.
// "IF-MATCH":"*", will overwrite any modification in the object, since it was last retrieved.
"IF-MATCH": "*",
//X-HTTP-Method: The MERGE method updates only the properties of the entity , while the PUT method replaces the existing entity with a new one that you supply in the body of the POST
"X-HTTP-Method": "MERGE",
// X-RequestDigest header: When you send a POST request, it must include the form digest value in X-RequestDigest header
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
data: JSON.stringify({
__metadata:
{
// Format of the "type" is: SP.Data.<<ListName>>ListItem. First character of the <<ListName>> should be in Capital
type: "SP.Data.EventsListItem"
},
EventStatus: "echangetoPublish"
}),
success: function(data, status, xhr)
{
console.log("Success");
},
error: function(xhr, status, error)
{
console.log("Failed");
}
});
}
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.