我应该为'Data.ValueRange'使用什么参考?

问题描述 投票:1回答:1

我正在跟踪guide,将Visual Studio的输出数据写入Google电子表格。

指南的末尾有一个代码块,我粘贴到了我的项目中:

using OpenQA.Selenium.Support.UI;
using System;
using NUnit.Framework;
using OpenQA.Selenium;
using System.Collections;
using System.Collections.Generic;
using Google.Apis.Sheets.v4;
using Google.Apis.Auth.OAuth2;
using System.IO;
using Google.Apis.Services;
using Newtonsoft.Json;
using WikipediaTests.Foundation_Class;
using System.Web;
using System.Data;
using Google.Apis.Sheets.v4.Data;

namespace AutomationProjects
{
    [TestFixture]
    public class TestClass : TestFoundation
    {
        public class SpreadSheetConnector
        {
        //Codeblock from guide pasted here!
        }
        [Test]
        public void test1()
        {
         //Test case 1. Do XYZ...
        }
    }
}

guide中包含的代码块中,有一节有关创建列表并将数据传递到其中:

 // Pass in your data as a list of a list (2-D lists are equivalent to the 2-D spreadsheet structure)
            public string UpdateData(List<IList<object>> data)
            {
                String range = "My Tab Name!A1:Y";
                string valueInputOption = "USER_ENTERED";

                // The new values to apply to the spreadsheet.
                List<Data.ValueRange> updateData = new List<Data.ValueRange>();
                var dataValueRange = new Data.ValueRange();
                dataValueRange.Range = range;
                dataValueRange.Values = data;
                updateData.Add(dataValueRange);

                Data.BatchUpdateValuesRequest requestBody = new Data.BatchUpdateValuesRequest();
                requestBody.ValueInputOption = valueInputOption;
                requestBody.Data = updateData;

                var request = _sheetsService.Spreadsheets.Values.BatchUpdate(requestBody, _spreadsheetId);

                Data.BatchUpdateValuesResponse response = request.Execute();
                // Data.BatchUpdateValuesResponse response = await request.ExecuteAsync(); // For async 

                return JsonConvert.SerializeObject(response);
            }

问题是我收到'Data.ValueRange'和'Data.BatchUpdateValuesRequest'的错误:

CS0246 The type or namespace name 'Data' could not be found (are you missing a using directive or an assembly reference?)

我尝试将“ System.Data”作为程序集引用添加到我的项目,然后将其添加到顶部(using)。但是它并没有消除错误。

'数据。似乎属于“ Google.Apis.Sheets.v4”,但我已经按照指南的指示添加了该参考。

消除错误的唯一解决方法是在每个“数据”之前添加Google.Apis.Sheets.v4。像这样:List<Google.Apis.Sheets.v4.Data.ValueRange>

但是当我运行测试时,输出不会导出到电子表格中。所以我假设这不是正确的解决方案。而且我还假设,如果有必要,guide应该已经将其包含在代码块中。

关于我需要的有关“数据”的其他参考资料吗?

c# visual-studio selenium assemblies google-sheets-api
1个回答
0
投票

根据documentation,ValueRange类取决于Sheets.v4.Data,因此您应该添加:

using Google.Apis.Sheets.v4.Data;

也更改:

List<Data.ValueRange> updateData = new List<Data.ValueRange>();

至:

List<ValueRange> updateData = new List<ValueRange>();

© www.soinside.com 2019 - 2024. All rights reserved.