Google Calendar API - 超出配额的适当API密钥解决方案

时间:2013-09-19 21:02:17

标签: google-calendar-api google-api-dotnet-client

我有一个用C#.NET开发的自定义Windows服务,可以将用户的Google日历与内部日历同步。

根据Google Calendar API文档,我使用以下代码。我相信这被称为ClientLogin方法,可能会或可能不会建议(我在Google文档中发现了相互矛盾的信息)。

CalendarService service = new CalendarService("Your app name");
service.setUserCredentials("username", "password");

这在测试中运行良好。现在事情已经转移到生产状态,我收到的错误包括“用户已超出配额,目前无法执行此操作”和“用户今天修改了太多事件。请明天再试。”这开始于一天多以前,并一直如此。

我已经对此进行了大量研究,但我仍然对以下几点感到困惑。任何帮助将不胜感激。

  1. 每位用户的每日配额是多少?

  2. 是否(真的很低?)配额,因为我的应用程序没有使用API​​密钥?

  3. 如果我要使用API​​密钥,我将使用哪种方法用于Windows服务,其中我拥有Google用户的用户名和密码? - 简单的API,OAuth2,服务帐户等

  4. 仅供参考:我使用的是Google提供的API .NET库。如果我应该使用特定的身份验证方法,我将非常感谢使用通过Google提供的.NET库实现的示例。

1 个答案:

答案 0 :(得分:0)

首先,您绝对不使用最新版本的库。您可以从NuGet下载它。您应该下载以下两个包:

  1. https://www.nuget.org/packages/Google.Apis.Calendar.v3/
  2. https://www.nuget.org/packages/Google.Apis.Authentication/(请注意,在下一版本中,我们将显着改进OAuth2流程,并支持WP,Windows 8应用程序。)
  3. 关于你的问题:

    1-2)Calendar API每天支持100,000个请求。您可以在服务标签中的Google API控制台中找到该信息。

    3)绝对是OAuth2。阅读更多herehere

    您可以在我们的示例存储库(https://code.google.com/p/google-api-dotnet-client/source/browse/?repo=samples)中找到包含当前OAuth2实现的代码示例