我正在跟踪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应该在必要的情况下将其包含在代码块中。
关于我需要的“数据”是否还有其他参考?
答案 0 :(得分: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>();