2

おそらくこれを尋ねるのは1人だけではありませんが、うまくいくものは何も見つかりませんでした...それはジャングルのようなものです;)

Googleカレンダーに接続したいC#デスクトップアプリ(5〜10ユーザー)があります。カレンダーのイベントを追加、移動、削除、更新したい。インストールされた最後の.Netapiv.3をダウンロードしました。

私が読んだことから、難しい部分は認証/接続手順です。OAuth 2.0認証を使用する必要があると思いますか?ユーザーがアクション(追加、移動、削除、更新)を行うたびにではなく、一度認証するようにしたいのですが、一部のサンプルでは、​​トークンをWebページからコンソールに切り取って貼り付ける必要があります...本当にユーザーフレンドリーではありません。そして、1回だけ認証する方法(または認証しないようにトークンをコードに直接入れる方法は?)?

さて、私はそれを作るためにC#でうまく機能するサンプルコードを持つことができましたか?

助けてくれてありがとう!

4

3 に答える 3

1

ここの例に似たものを使用しました。私が最初に行ったことは、サンプル ロジックを使用して、Google が必要とする初期認証を設定する単純な Web アプリケーションを作成することでした。私はステップスルーし、州から更新トークンを取得しました. 次に、これをアプリ設定に保存して、後で GetAuthorization リクエストで使用できるようにしました。少なくとも私がやっていたことはうまくいきました。アプリが接続されている限り、ユーザーは承認する必要はありませんでした。

private IAuthorizationState GetAuthorization(WebServerClient client)
    {
        IAuthorizationState state = new AuthorizationState(new[] { CalendarService.Scopes.Calendar.GetStringValue() });
        string refreshToken = LoadRefreshToken();//this where I wrote code to load it from the app settings
        if (!string.IsNullOrEmpty(refreshToken))
        {
            state.RefreshToken = refreshToken;
            try
            {
                if (client.RefreshToken(state))
                    return state;
            }
            catch (ProtocolException)
            {
                return null;
            }
        }

        return null;
    }
于 2013-03-01T16:38:08.987 に答える