C# GoogleSheetsAPI.NETV4为网格单元创建下拉列表

C# GoogleSheetsAPI.NETV4为网格单元创建下拉列表,c#,.net,visual-studio,google-sheets,google-sheets-api,C#,.net,Visual Studio,Google Sheets,Google Sheets Api,我正在尝试在网格上创建一个下拉列表。我是按照这个建议做的。但是,我无法为UserEnteredValue输入任何字符串值。我得到的带下划线的错误是: 无法将类型“Google.api.Sheets.v4.Data.ConditionValue”隐式转换为“System.Collections.Generic.IList”。存在显式转换(是否缺少强制转换?) 我能够获得以下信息,以使我的情况发挥作用 SpreadsheetsResource.GetR

我正在尝试在网格上创建一个下拉列表。我是按照这个建议做的。但是,我无法为
UserEnteredValue
输入任何字符串值。我得到的带下划线的错误是:

无法将类型“Google.api.Sheets.v4.Data.ConditionValue”隐式转换为“System.Collections.Generic.IList”。存在显式转换(是否缺少强制转换?)


我能够获得以下信息,以使我的情况发挥作用

                        SpreadsheetsResource.GetRequest request = _sheetsService.Spreadsheets.Get(newTimeSheet.Id);
                        Spreadsheet spreadsheet = request.Execute();
                        SheetProperties timeSheetProperties = new SheetProperties();
                        for (int z = 0; z < spreadsheet.Sheets.Count; z++)
                        {
                            SheetProperties sheetProperties = spreadsheet.Sheets[z].Properties;
                            if (sheetProperties.Title == "3c TIME")
                            {
                                timeSheetProperties = sheetProperties;
                                break;
                            }
                        }
                        var updateCellsRequest = new Request()
                        {
                            SetDataValidation = new SetDataValidationRequest()
                            {
                                Range = new GridRange()
                                {
                                    SheetId = timeSheetProperties.SheetId,
                                    StartRowIndex = 2,
                                    StartColumnIndex = 0,
                                    EndColumnIndex = 1
                                },
                                Rule = new DataValidationRule()
                                {
                                    Condition = new BooleanCondition()
                                    {
                                        //Type = "ONE_OF_RANGE",
                                        Type = "ONE_OF_LIST",
                                        Values = new List<ConditionValue>()
                                    {
                                        new ConditionValue()
                                        {
                                            UserEnteredValue = "YES",
                                        },
                                        new ConditionValue()
                                        {
                                            UserEnteredValue = "NO",
                                        },
                                        new ConditionValue()
                                        {
                                            UserEnteredValue = "MAYBE",
                                        }
                                    }
                                    },
                                    InputMessage = "Select an Option",
                                    ShowCustomUi = true,
                                    Strict = true
                                }
                            }
                        };
                        var requestBody = new Google.Apis.Sheets.v4.Data.BatchUpdateSpreadsheetRequest();
                        var requests = new List<Request>();
                        requests.Add(updateCellsRequest);
                        requestBody.Requests = requests;
                        var batchRequest = _sheetsService.Spreadsheets.BatchUpdate(requestBody, newTimeSheet.Id);
                        batchRequest.Execute();
SpreadsheetsResource.GetRequest=\u sheetsService.Spreadsheets.Get(newTimeSheet.Id);
电子表格=request.Execute();
SheetProperties timeSheetProperties=新的SheetProperties();
对于(int z=0;z
我遇到的错误是UserEnteredValue。您不能将单个值(ConditionValue)分配给列表(值)。感谢您指出这一点。我把它拿去工作。如果你认为它有用的话,可以考虑添加你的解决方案,或者删除你的问题。
                        SpreadsheetsResource.GetRequest request = _sheetsService.Spreadsheets.Get(newTimeSheet.Id);
                        Spreadsheet spreadsheet = request.Execute();
                        SheetProperties timeSheetProperties = new SheetProperties();
                        for (int z = 0; z < spreadsheet.Sheets.Count; z++)
                        {
                            SheetProperties sheetProperties = spreadsheet.Sheets[z].Properties;
                            if (sheetProperties.Title == "3c TIME")
                            {
                                timeSheetProperties = sheetProperties;
                                break;
                            }
                        }
                        var updateCellsRequest = new Request()
                        {
                            SetDataValidation = new SetDataValidationRequest()
                            {
                                Range = new GridRange()
                                {
                                    SheetId = timeSheetProperties.SheetId,
                                    StartRowIndex = 2,
                                    StartColumnIndex = 0,
                                    EndColumnIndex = 1
                                },
                                Rule = new DataValidationRule()
                                {
                                    Condition = new BooleanCondition()
                                    {
                                        //Type = "ONE_OF_RANGE",
                                        Type = "ONE_OF_LIST",
                                        Values = new List<ConditionValue>()
                                    {
                                        new ConditionValue()
                                        {
                                            UserEnteredValue = "YES",
                                        },
                                        new ConditionValue()
                                        {
                                            UserEnteredValue = "NO",
                                        },
                                        new ConditionValue()
                                        {
                                            UserEnteredValue = "MAYBE",
                                        }
                                    }
                                    },
                                    InputMessage = "Select an Option",
                                    ShowCustomUi = true,
                                    Strict = true
                                }
                            }
                        };
                        var requestBody = new Google.Apis.Sheets.v4.Data.BatchUpdateSpreadsheetRequest();
                        var requests = new List<Request>();
                        requests.Add(updateCellsRequest);
                        requestBody.Requests = requests;
                        var batchRequest = _sheetsService.Spreadsheets.BatchUpdate(requestBody, newTimeSheet.Id);
                        batchRequest.Execute();