0

こんにちは私は、Webサイトに接続していなくてもユーザーの電子メールを読むことができるWebアプリケーションを作成しようとしています。私はGoogle Sign-In for Websitesの手順を踏んで、JavaScriptのサインインページを作成して認証コードを与えてくれました。ステップ7で、アクセストークンの認証コードをxmlhttprequestを通してサーバーに送信するように指示します。私の問題は、サーバー側にコードを送信する方法がわからなくても、トークンをリフレッシュする方法やASPでユーザーデータを取得する方法がわからない場合でも、DotNetOpenAuthの使用方法を検索しましたが、私の問題を助けるためのチュートリアルを見つけることができませんでした。ASP.NET Webアプリケーション内のGoogleのユーザートークンと認証コード

答えて

0

こんにちは、あなたがそのようなこと行うことができます:これはあなたのアクセストークンを与える必要があります

IAuthorizationCodeFlow flow = 
new GoogleAuthorizationCodeFlow(newGoogleAuthorizationCodeFlow.Initializer 
     ClientSecrets = new ClientSecrets 
{ 
    ClientId = "yourClientId", 
    ClientSecret = "yourClientSecret" 

}); 
TokenResponse response = flow.ExchangeCodeForTokenAsync("", "authorization_code_you_generated_in_client", "postmessage", CancellationToken.None).Result; 

を。 javascriptリクエストで"access_type" : "offline"を指定した場合のみ、リフレッシュトークンが取得されます。 "approval_prompt" : "force"を使用してrefresh_tokenを再度取得することもできます。

+0

ありがとう、私はGoogleWebAuthorizationBrokerを使用しましたが、オフラインでアクセスするのが難しいです。何か考えがありますか? –

+0

私の経験から、GoogleWebAuthorizationBrokerはデスクトップアプリケーションに適していますが、シナリオではGoogleAuthorizationCodeFlowを使用します。 refresh_tokenを取得するために述べたように、クライアント側でaccess_typeとapproval_promptを指定しましたか? –

関連する問題