Я использую Google Calendar API V3 с OAuth2 и .NET. моя аутентификация осуществляется по учетной записи службы, так как мне нужно запускать ее как службу без пользовательского интерфейса. Мне удалось, после долгих усилий, пройти аутентификацию с учетными данными, но по какой-то причине я не могу создать событие в своем календаре (и да, я поделился им с собой...).
Я нашел много вопросов, касающихся одних и тех же проблем, но все на php, который я действительно не знаю или думаю, что это мне поможет.
я ищу некоторую помощь. Спасибо
String serviceAccountEmail = "[email protected]";
var certificate = new X509Certificate2(@"key.p12", "notasecret", X509KeyStorageFlags.MachineKeySet |X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = new[] { CalendarService.Scope.Calendar }
}.FromCertificate(certificate));
// Create the service.
var service = new CalendarService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Calendar API Sample",
});
Event e = new Event()
{
Summary = "Appointment1",
Location = "42.138679, -88.045519",
Start = new EventDateTime()
{
DateTime = DateTime.Now,
TimeZone = "Asia/Jerusalem"
},
End = new EventDateTime()
{
DateTime = DateTime.Now.AddDays(1),
TimeZone = "Asia/Jerusalem"
},
};
Event createdEvent = service.Events.Insert(e, "primary").Execute();