Need to execute a function at a scheduled time, once only. So I create a task and at the end of the task function use UpdateTask API to disable this task by set active property to false. But UpdateTask API keeps return error:
{ "code": 400, "status": "BadRequest", "error": "InvalidParams", "errorCode": 1000, "errorMessage": "Invalid input parameters", "errorDetails": { "Name": [ "The Name field is required." ], "Identifier": [ "The Identifier field is required." ] } }
Here is Cloud Script code:
let url = "https://" + TITLE_ID + ".playfabapi.com/Admin/UpdateTask"; let method = "post"; let contentBody = JSON.stringify({ Identifier: {Name: taskName}, Name: taskName, Schedule: schedule, Parameter: {FunctionName: functionName, Argument: {}}, Type: {CloudScript: functionName}, IsActive: false }); let contentType = "application/json"; let headers = {"X-SecretKey": X_SECRET_KEY}; let responseStr: string = http.request(url, method, contentBody, contentType, headers);
As the code shows Name & Identifier fields attached. The error message dosen't make sense to me. Any hint or suggestion? Thanks.
BTW, the DeleteTask & CreateTask APIs work great.
Answer by Rick Chen · Jul 15, 2021 at 07:05 AM
The “Type” parameter in the request body of UpdateTask API should be one of the Scheduled Task Type, in string. For example, you could change the 8th line of your 2nd code snippet to
Type: "CloudScript",
Please check the UpdateTask API document for more detail.
Leaderboard reset at custom time 1 Answer
server.DeletePlayer is not a method 1 Answer
Can Cloud Code Access the Admin API 1 Answer
Azure Functions - context return null, Scheduled Tasks faild [two questions] 3 Answers
What is the execution time limit for a Cloud Script function called From a Task? 1 Answer