1

ユーザーの Google カレンダーを内部カレンダーと同期する C#.NET で開発されたカスタム Windows サービスがあります。

Google Calendar API ドキュメントに従って、以下のコードを使用しています。これは ClientLogin メソッドと呼ばれていると思いますが、推奨される場合とされない場合があります (Google のドキュメントで矛盾する情報が見つかりました)。

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

これはテストではうまくいきました。本番環境に移行した今、「ユーザーがクォータを超えたため、現在この操作を実行できません」や「ユーザーが今日変更したイベントが多すぎます。明日もう一度お試しください」などのエラーが表示されます。これは 1 日以上前に始まり、そのままになっています。

私はこれをかなり調査しましたが、まだいくつかの点で混乱しています。どんな助けでも大歓迎です。

  1. ユーザーあたりの 1 日の割り当て量は?

  2. API キーがアプリケーションで使用されていないため、(本当に低い?) クォータはありますか?

  3. API キーを使用する場合、Google ユーザーのユーザー名とパスワードを持つ Windows サービスにはどのアプローチを使用しますか? - シンプルな API、OAuth2、サービス アカウントなど

参考: Google が提供する API .NET ライブラリを使用しています。特定の認証アプローチを使用する必要がある場合は、Google から提供された .NET ライブラリを使用した実装を示すサンプルをいただければ幸いです。

4

1 に答える 1

0

まず第一に、最新バージョンのライブラリを使用していないことは間違いありません。NuGet からダウンロードできます。次の 2 つのパッケージをダウンロードする必要があります。

  1. https://www.nuget.org/packages/Google.Apis.Calendar.v3/
  2. https://www.nuget.org/packages/Google.Apis.Authentication/ (次のリリースでは、OAuth2 フローを大幅に改善し、WP、Windows 8 アプリケーションをサポートする予定であることに注意してください)。

ご質問について:

1-2) カレンダー API は 100,000 リクエスト/日をサポートします。その情報は、[サービス] タブの Google API コンソールで確認できます。

3) 間違いなく OAuth2。詳細はこちらこちらをご覧ください。

サンプル リポジトリ ( https://code.google.com/p/google-api-dotnet-client/source/browse/?repo=samples )で、OAuth2 の現在の実装を含むコード サンプルを見つけることができます。

于 2013-09-20T01:24:19.127 に答える