Google日历api CalendarList列表返回空元素

时间:2014-06-05 14:24:03

标签: google-api google-calendar-api

编辑:原始海报询问C#,但无论使用哪个库,都会出现同样的问题,其解决方案是语言无关。< / p>

使用C#lib,

        string service_account = "myaccount@developer.gserviceaccount.com";

        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;

项目为空。在https://developers.google.com/google-apps/calendar/v3/reference/calendarList/list上,当我尝试api时,我得到了很好的结果。

我真的不明白为什么我没有任何结果:似乎service_account与我的gmail帐户链接的日历不同。

有什么建议吗? 感谢。

1 个答案:

答案 0 :(得分:13)

解决方案是与服务帐户共享现有日历

<paste-your-account-here>@developer.gserviceaccount.com

(您可以在Google Developers Console的credentials标签下找到相关帐户,该帐户名为“电子邮件地址”,