EDIT: Il manifesto originale ha chiesto questo per C#
, ma lo stesso problema si verifica indipendentemente dalla libreria utilizzata, e la sua soluzione è indipendente dalla lingua .Google calendar api CalendarList Lista tornare elemento vuoto
con C# lib,
string service_account = "[email protected]";
var certificate = new X509Certificate2(@"pathtomy-privatekey.p12", "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(service_account)
{
Scopes = new[] { CalendarService.Scope.Calendar }
}.FromCertificate(certificate));
// Create the service.
var service = new CalendarService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "My project name",
});
var calendarList = service.CalendarList.List().Execute();
IList<CalendarListEntry> items = calendarList.Items;
articoli è vuota. Su https://developers.google.com/google-apps/calendar/v3/reference/calendarList/list, quando provo l'api, ottengo il buon risultato.
Realmente non capisco perché non ho alcun risultato: sembra che se il servizio account non abbia lo stesso calendario del mio account gmail collegato.
Qualche suggerimento? Grazie.
@aldanux - Di cosa stai parlando? Questa è ** esattamente ** la soluzione al problema. – mac
@Rototo - Grazie mille, sono rimasto bloccato su questo da un'ora e non sapevo cosa provare dopo! Hai salvato la mia giornata ... :) – mac
Dopo aver condiviso il calendario con l'account di servizio, l'elenco dei calendari sembrava ancora vuoto per me. Dopo aver condiviso un secondo calendario con l'account di servizio, entrambi sono apparsi. Ho quasi tirato fuori i miei capelli prima di imbattersi in questa soluzione, quindi se sei ancora bloccato, forse sarà d'aiuto. – alex83