📅  最后修改于: 2023-12-03 15:15:24.749000             🧑  作者: Mango
如果你需要从 Google 表格中获取当前时间,可以使用 Google Apps Script,它可以提供对 Google 服务的 API 访问,包括获取时间。而 C# 建议使用 Google API 进行访问,本文就为大家介绍如何使用 C# 通过 Google API 获取当前时间。
前往 Google API Console 创建一个项目。
在左侧菜单中选择 “凭据”,然后选择 “创建凭据”。
选择 “OAuth 客户端 ID” 以创建一个新的客户端 ID。
选择应用类型为 “桌面应用程序” 并输入名称,然后单击 “创建” 按钮。
在 “OAuth 2.0 客户端 ID” 对话框中,你需要注意三个参数:客户端 ID、客户端密钥,以及重定向 URI。这些参数会在后面的步骤中用到。
在 Visual Studio 中创建一个新项目,并打开程序包管理器控制台。
使用以下命令来安装 Google.Apis
和 Google.Apis.Auth
NuGet 包:
Install-Package Google.Apis
Install-Package Google.Apis.Auth
下面的代码片段展示了如何通过 Google API 获取当前时间:
using System;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Calendar.v3;
using Google.Apis.Services;
var credential = GoogleCredential.FromFile("your_path_to_client_secret.json")
.CreateScoped(CalendarService.Scope.Calendar);
var service = new CalendarService(new BaseClientService.Initializer
{
HttpClientInitializer = credential,
ApplicationName = "MyAppName"
});
var calendar = service.Calendars.Get("primary").Execute();
var timeZone = calendar.TimeZone;
var now = DateTime.UtcNow;
var calendarTime = service.Events.Get("calendar_id", "event_id").Execute().Start.DateTime;
var localTime = TimeZoneInfo.ConvertTimeFromUtc(calendarTime ?? (DateTime?) now, TimeZoneInfo.FindSystemTimeZoneById(timeZone));
Console.WriteLine($"Local time is: {localTime.ToString()}");
需要注意以下几点:
你需要将 "your_path_to_client_secret.json"
替换为你的客户端密钥文件的路径。
CalendarService.Scope.Calendar
是使用 Google 日历 API 的作用域。
MyAppName
是应用程序名称,可以替换为你想要使用的名称。
primary
是要访问的 Google 日历 ID。
event_id
是是要访问的事件 ID。
timeZone
是 Google 日历时区。
now
是 UTC 时间的当前时间戳,可通过 DateTime.UtcNow
获取。
localTime
是将 calendarTime
转换为本地时间。
本文向大家展示了如何使用 C# 通过 Google API 获取当前时间,并提供了详细的步骤说明和代码片段。我们希望这篇文章能够帮助到正在寻找解决方案的 C# 程序员。