Я пытаюсь удалить облачную задачу Google с помощью облачной функции. Это код, который, как мне кажется, мне нужен на основе документов Google.
export const deleteHearingReminder = functions.firestore
.document('Hearings/{HearingID}/Accepted/{AcceptedId}')
.onUpdate(async change => {
const dataBefore = change.before.data() as data;
const dataAfter = change.before.data() as data;
if (dataBefore === dataAfter) {
console.log("Text didn't change");
return null;
}
const taskID ={ name : dataAfter.taskId };
const client = new CloudTasksClient();
const [response] = await client.deleteTask(taskID);
console.log(`delete task ${response.name}`);
return Promise.resolve({ task: response.name });
});
Когда вызывается эта функция, я получаю сообщение об ошибке
Error: 7 PERMISSION_DENIED: Permission denied on resource project 6cDNgaqLniz6kHGonePh.
, где 6cDN ... - это идентификатор задачи, которую я пытаюсь удалить, поэтому мои вопросы: я не предоставляю задачи Google с достаточно информации, чтобы удалить эту задачу, что я получаю ошибку PERMISSION_DENIED? Кроме того, если есть больше информации, я должен предоставить, каковы соответствующие имена полей, потому что из того, что я вижу в документах Google, deleteTask берет только «имя». Любые предложения приветствуются, спасибо.
Я действительно ценю всю помощь, поэтому мой код выглядит следующим образом.
const request = {
name: `projects/${project}/locations/${location}/queues/${default_queue}/tasks/${dataAfter.taskId}`,
};
taskClient.deleteTask(request).catch(error => {
console.error(`There was an error ${error}`);
});
, и это работает, и это здорово. Спасибо, я все еще получаю ошибку в этом методе catch, хотя
5 NOT_FOUND: Requested entity was not found
Я проверял его несколько раз с единообразными результатами, если меня беспокоит об этом он, кажется, работает как ожидалось