403尝试使用Google Calendar API v3清除日历时?

时间:2014-10-27 20:26:08

标签: google-api google-oauth google-api-dotnet-client google-authentication

我正在通过.NET客户端库使用Google calendar API v3来构建已安装的应用。在我的开发者控制台中,我有一个使用Calendar API定义的项目。我可以添加活动,但无法清除日历。以下代码适用于创建项目的帐户,但不适用于任何其他帐户(返回403禁止):

UserCredential credential;
credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
    new ClientSecrets
    {
        ClientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
        ClientSecret = "yyyyyyyyyyyyyyyyyyy"
    },
    new[] { CalendarService.Scope.Calendar },
    "johndoe@gmail.com",
    CancellationToken.None,
    new FileDataStore("Somefolder"));

// Create the service
cs = new CalendarService(new BaseClientService.Initializer()
{
    HttpClientInitializer = credential,
    ApplicationName = "Calendar App",
});

cs.Calendars.Clear("primary").Execute(); // 403 returned here

如何更正此问题,以便我能够清除用户的主日历?我见过other posts谈论让用户分享他们的日历,但这不实用,他们已经给了我的应用程序Calendar API权限。

1 个答案:

答案 0 :(得分:1)

问题原来不是上面的代码或我的项目设置。这是我测试过的一个帐户特有的问题。即使尝试通过Web界面“删除日历中的所有事件”,也会导致此特定帐户出现同样的错误。在其他几个帐户上测试过,它们运行正常。从搜索周围看来,这是一个人们可能遇到的不太常见的问题。我错误地将其归因于代码,但这是该帐户特有的一些问题。

相关问题