2016-07-26 80 views
1

我嘗試從Google OAuth documentation創建一個示例,但無法獲得有效的憑證。 在OAuth回調控制器中,我重寫了IndexAsync方法。但事件我有一個授權碼。我的花飾標記每次都是假的。並結果我有空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

您要訪問的谷歌開發者控制檯獲取的OAuth 2.0憑據如已知的谷歌和客戶端ID和客戶端密鑰您的應用程序

除了@Tholle的答案,請通過Official Google Document。只需完成頁面其餘部分中描述的步驟,大約五分鐘後,您將擁有一個向Gmail API發出請求的簡單.NET控制檯應用程序。

+0

嘿,這是一個非常糟糕的答案。 Guy在Google的例子中遇到了一個問題,你給他提供了一些通用信息和無關鏈接(如果是MVC應用程序,「安裝的應用程序」教程無用 - 而且他使用了官方文檔) – Bartosz

相關問題