问题描述
我设法使用脚本将Monday.com API与Google表格连接起来,并在板上创建了新项目,但是,我只能插入项目名称,如何在列中插入值。
代码示例:
function Create_Line()
{
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName("tests");
var values = sh.getDatarange().getValues();
var mondayAPIkey = "API_KEY"
for(var i=1;i<values.length;i++)
{
if(values[i][7]=="")
{
var query = "mutation($board:Int!,$name:String!,$colvals:JSON!){create_item(board_id:$board,item_name:$name,column_values:$colvals){id}}";
var variables = {
"board" : "board_id","name" : values[i][0],//where column A has the name I want for the item
"colvals": JSON.stringify({ "column_id": "Coluna 1","value": "Done"}) //calling the Now formatted date variable
};
var pulseID = JSON.parse(makeAPICall(mondayAPIkey,query,variables)).data.create_item.id;
sh.getRange(i+1,8).setValue(pulseID)
}
}
}
编辑:为了更好地解释问题,我正在寻找的结果是:
该脚本贯穿整个Google表格列表,并在Monday.com上创建了行,问题是我无法填写列值
解决方法
您要传递给monday.com API的列值参数格式错误。我无法在您的原始帖子中找到您的列ID,因此我将其假定为“ coluna_1”。
尝试将变量更改为此:
var variables = {
"board" : YOUR_BOARD_ID,"name" : values[i][0],"colvals" : JSON.stringify({"coluna_1" : "Done"})
}
根据official monday API Quickstart:
我们的GraphQL模式将一组列值定义为JSON字符串(键值对)。 column_values对象的键必须是列ID,并且值的结构必须取决于列的类型。
您可以通过启用开发者模式as described in this article.
来查找列ID。该值取决于monday.com中的列类型。您可以在以下位置查看monday.com API支持的列列表:API Documentation