Hello everyone, I recently restarted using asana and created some smaller automatisations using the API and Google Spreadsheet (i am a beginner in Apps Script). For the last few days I tried to add a tag to an existing task but I just can’t find a way to make it work…this is a part of my code:
var task = {
"tag" : "tag-id"
};
var options = {
"method" : "PUT",
"headers" : {"Authorization": bearerToken, "Asana-Enable": "new_rich_text"},
"contentType": 'application/json',
"payload" : JSON.stringify(task)
};
try {
var url = "https://app.asana.com/api/1.0/tasks/task-id/addTag";
var result = UrlFetchApp.fetch(url, options);
var reqReturn = result.getContentText();
Can anyone help me or explain to me what I am doing wrong? Thank you in advance and have a nice day
Hwy @Jan_Buhr,
I think that you need to define the task-id at your request url https://app.asana.com/api/1.0/tasks/1234567890/addTag
Hi @Diakoptis and thank you for the quick reply. In my productive code I have specified the task-id and the tag-id, but when I execute the function like this:
var task = {
"tag" : "672843257392271"
};
var options = {
"method" : "PUT",
"headers" : {"Authorization": bearerToken, "Asana-Enable": "new_rich_text"},
"contentType": 'application/json',
"payload" : JSON.stringify(task)
};
try {
var url = "https://app.asana.com/api/1.0/tasks/648902401325421/addTag";
var result = UrlFetchApp.fetch(url, options);
var reqReturn = result.getContentText();
I get an 404 Error, sadly I only get a shortened version of the error in my log and I don’t know how to enlarge it. I also tried putting the tag-id in like used in task creation.
Hey @Jan_Buhr,
Check the following code. To Add a tag in a task you need to make a POST request as documentation explain.
function addTag(){
var taskId = '123456789';
var tagId = '987654321';
var token = "'token'"; //Asana Personal Access Token
var bearerToken = "Bearer " + token;
//Request
var request = {
data : {
tag: tagId
}
};
// Request options
var options = {
"method" : "POST",
"headers" : {"Authorization": bearerToken},
"contentType": 'application/json',
"payload" : JSON.stringify(request)
};
Logger.log(options);
try {
var url = "https://app.asana.com/api/1.0/tasks/" + taskId + "/addTag";
var result = UrlFetchApp.fetch(url, options);
var reqReturn = result.getContentText();
Logger.log(reqReturn);
}
catch (e) {
Logger.log(e);
}
}
2 Likes
Thank you very much, this worked perfectly. I actually missed that part and also I forgot to add data:
to the oervall function.
1 Like
Glad I helped. Happy coding and do great things :))