Google表格+ Monday.com API-更改列值

问题描述

我设法使用脚本将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)
    }
  }
}

Sample Spreadsheet

编辑:为了更好地解释问题,我正在寻找的结果是:

该脚本贯穿整个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