2016-07-26 6 views
1

Google OAuth documentationから例を作成しようとしましたが、有効な資格情報を取得できません。 OAuthコールバックコントローラでは、IndexAsyncメソッドをオーバーライドしています。しかし、私は認証コードを持っています。私のカンセレーショントークンは毎回間違っています。結果はnullです。result.CredentialGoogle oauth .net有効な認証情報を取得するにはどうすればよいですか?

public override async Task<ActionResult> IndexAsync(AuthorizationCodeResponseUrl authorizationCode, CancellationToken taskCancellationToken) 
    { 
     var result = await new AuthorizationCodeMvcApp(this, new AppFlowMetadata()). 
      AuthorizeAsync(taskCancellationToken); 

    --> **result.Credential == null** 

     var service = new GmailService(new BaseClientService.Initializer 
     { 
      HttpClientInitializer = result.Credential, 
      ApplicationName = "ASP.NET MVC Sample" 
     }); 
     UsersResource.LabelsResource.ListRequest request = service.Users.Labels.List("me"); 

     IList<Label> labels = request.Execute().Labels; 

     var a = request; 
     return View(); 
    } 

私は間違っていますか?

+0

この便利な[クイックスタート](https://developers.google.com/gmail/api/quickstart/dotnet)に遭遇しましたか? – Tholle

+0

はい、このコンソールアプリケーションの例です。私はasp.net mvcとOAuthを使用しています。 –

答えて

0

あなたが言ったように、OAuth 2.0を使用しています。 OAuth 2.0を使用してGoogle APIにアクセスするための基本パターンがあります。次の4つの手順に従います。

  • Google Developers ConsoleからOAuth 2.0の認証情報を取得します。
  • Google認可サーバーからアクセストークンを取得します。
  • アクセストークンをAPIに送信します。
  • 必要に応じてアクセストークンを更新します。詳細については

、あなたはここでチュートリアルに従うことができます:https://developers.google.com/identity/protocols/OAuth2InstalledApp#handlingtheresponse

をあなたは、このような両方のGoogleに知られているクライアントIDとクライアントシークレットなどのOAuth 2.0認証情報を取得するためには、Google Developers Consoleを訪問しており、あなたのアプリケーション

@ Tholleの答えに加えて、Official Google Documentに行ってください。残りのページに記載されている手順を実行するだけで、約5分後にGmail APIにリクエストする簡単な.NETコンソールアプリケーションが作成されます。

+0

ねえ、それは非常におっしゃる答えです。ガイは、Googleの例にしたがって問題を抱えています。あなたは彼にいくつかの一般的な情報と無関係なリンクを提供しています(MVCアプリケーションの場合、「インストールされたアプリケーション」のチュートリアルは役に立たず、 – Bartosz

関連する問題