using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using System.Activities;
using Microsoft.Office.Interop.Excel;
using Google.Apis.Sheets.v4.Data;
using Google.Apis.Sheets.v4;
using Google.Apis.Sheets;
using Google.Apis.Services;
using Google.Apis.Auth.OAuth2;
using static Google.Apis.Sheets.v4.SheetsService;
using System.IO;
public void HideGoogleSheet()
{
try
{
string[] Scopes = { SheetsService.Scope.Spreadsheets };
string tagSheetName = "hide sheet name";
string SpreadsheetId = "spreadsheet id";
string ApplicationName = "HideSheet";
//Secretkey.json 参考获取google cloud secret key(可在google cloud的setting中获取,网上有很多资料和视频)
string secretPath = "C:\\user\\Secretkey.json";
int sheetId = 0;
GoogleCredential credential;
//Reading Credentials File...
using (var stream = new FileStream(secretPath, FileMode.Open, FileAccess.Read))
{
credential = GoogleCredential.FromStream(stream)
.CreateScoped(Scopes);
}
SheetsService service = new SheetsService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
var sheets = service.Spreadsheets.Get(SpreadsheetId);
var sheetsResponse = sheets.Execute();
foreach (Google.Apis.Sheets.v4.Data.Sheet item in sheetsResponse.Sheets)
{
if (item.Properties.Title == tagSheetName)
{
sheetId = (int)item.Properties.SheetId;
Console.Write("SheetName: "+item.Properties.Title);
break;
}
}
if (sheetId > 0)
{
BatchUpdateSpreadsheetRequest busRequest = new BatchUpdateSpreadsheetRequest();
var request = new Request()
{
UpdateSheetProperties = new UpdateSheetPropertiesRequest
{
Properties = new SheetProperties()
{
Hidden = true,
SheetId = sheetId
},
Fields = "Hidden"
}
};
busRequest.Requests = new List<Request>();
busRequest.Requests.Add(request);
var bur = service.Spreadsheets.BatchUpdate(busRequest, SpreadsheetId);
bur.Execute();
}
}
catch (Exception ex)
{
string es = ex.Message;
throw ex;
}
}
需要添加引用
Google sheet和excel一样,如果需要对内容以及属性进行更新,就需要有一个提交请求的动作(Execute())
最后贴上一张调试图,以提醒自己实现时的经历