3

マシン上の Outlook カレンダーをユーザーの Google カレンダーと同期する小さなクライアントを作成しています。.Net (C#) を使用しています。.NET 用の Google API クライアント ライブラリを使用して Google カレンダー API にアクセスする方法について読み、いくつかの基本的なことを試しました。

承認に関して、私が理解している限り、新しい「OAuth 2.0」承認には「ユーザーの同意」が必要です。つまり、ユーザーはGoogleページに誘導され、アプリケーションが自分のカレンダーにアクセスすることを明示的に許可する必要があります。このユーザー操作だけでは不十分であるかのように、私はプログラマーとして「アクセス トークン」や「リフレッシュ トークン」などを処理する必要があります。

私の質問は次のとおりです。インストールされたアプリケーションが Google API と通信してユーザーのカレンダーにアクセスする簡単な方法はありませんか?

ユーザーが [設定] ダイアログにユーザー名とパスワードを入力するようにしたいと思います。彼の資格情報はローカルに保存され (もちろん暗号化されます)、後で Google API 経由でアクセスするたびに使用されます。私はこれが危険である可能性があることを知っていますが、その決定は私に嘘をつくことを望みます.

それで、それは可能ですか?

4

1 に答える 1

2

いいえ、それは不可能です。OAuthの要点は、ユーザーがサードパーティ(あなた)にユーザー名とパスワードを決して与えないことです。取得できるのは、ユーザーがいつでも取り消すことができる接続を可能にするトークンだけです。(また、ユーザーがパスワードを変更した場合でも、同じ保存済みトークンを使用でき、ユーザーに設定を更新させる必要はありません)。

ユーザー名とパスワードを保存して自分で「承認」を実行することでこれを「回避」することにした場合、APIのTOSに違反し、アプリケーションがGoogle(または試してみると任意のOAuthプロバイダー)によって禁止されます。他の誰かと)ルールに従わなかったため。

于 2012-08-13T13:39:21.987 に答える