question

Ethan K. G avatar image
Ethan K. G asked

UpdateTask Error

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.

CloudScripttasks
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Rick Chen avatar image
Rick Chen answered

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.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.