0

私が使っている、

asp.net 4.0、Google カレンダー API V3、および IIS 6.0 を使用する Windows 2003 R2 Web サーバーを使用する環境と、ライセンスを受けた独自の Google ドメインがあります。

私のアプリは、多くの人の Google カレンダーにアクセスし、以前は V2 を使用してコンシューマ キーとコンシューマ シークレットを使用していたイベントを追加/削除/更新する必要があります。現在、私のコードは V3 バージョンに移行されており、API キーと暗号化されたキー ファイルを使用するサービス アカウント タイプを使用しているため、動作します。しかし、私のクライアントはあまり熱心ではなく、バージョン V2 の OAuth 2.0 と同様の認証を検討しています。

だから私の質問は、V2のような1回限りの認証で動作するはずのユーザーの束に対してすべての操作を実行するために、V3のサービスアカウント以外の最良のアプローチは何ですか?

ありがとう、MVM

4

1 に答える 1

0

Calendar API V3 と Web 認証を使用できます。この場合、Web ページはユーザーの同意画面にリダイレクトされ、エンド ユーザーは要求を承認する必要があります。

using System;
using System.Threading;
using System.Threading.Tasks;

using Google;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Calendar.v3;
using Google.Apis.Calendar.v3.Data;
using Google.Apis.Services;

namespace Calendar.Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                new ClientSecrets
                {
                    ClientId = "CLIENT_ID_HERE",
                    ClientSecret = "CLIENT_SECRET_HERE",
                },
                new[] { CalendarService.Scope.Calendar },
                "user",
                CancellationToken.None).Result;

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

            ...
        }
    }
}
于 2014-06-12T09:02:52.727 に答える