2014-07-18 129 views
1

我遵循教程here來登錄谷歌並在ASP.Net MVC應用程序中訪問GMail API。Google登錄ASP.Net MVC應用程序使用Gmail API

但是在這一行我的程序卡住了,我的意思是沒有迴應,我想從谷歌服務器。

var result = await new AuthorizationCodeMvcApp(this, new AppAuthFlowMetadata()). 
       AuthorizeAsync(cancellationToken); 

我不知道爲什麼需要時間授權用戶請求。

+0

你有什麼目標FR amework設置爲?你在開發者控制檯中做了什麼類型的應用程序?我已經看到這個,我只是不記得它是什麼。 – DaImTo

+0

.NET 4及其MVC 4應用程序中的目標框架。 –

+0

您創建了「Web應用程序的客戶端ID」正確嗎? – DaImTo

回答

1
  • 的主要問題是與asyncawait關鍵字。這些 關鍵字儘管在VS2010支持作爲CTP,實際上並不在VS 2010與.Net框架工作4
  • 這些關鍵字終於發佈了.Net框架4.5和 完全支持VS 2012
  • 因此,使這項工作,我要我的端口解決VS 2012

很簡單的解決方案,我想,我應該已經找到了更早:(

0

我不確定你的特定問題是什麼。我使用以下方式訪問Gmail API。

// Create OAuth Credential. 
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
    new ClientSecrets 
    { 
     ClientId = "CLIENT_ID", 
     ClientSecret = "CLIENT_SECRET" 
    }, 
    new[] { GmailService.Scope.GmailModify }, 
    "me", 
    CancellationToken.None).Result; 
// Create the service. 
var service = new GmailService(new BaseClientService.Initializer() 
{ 
    HttpClientInitializer = credential, 
    ApplicationName = "Draft Sender", 
}); 
ListDraftsResponse draftsResponse = service.Users.Drafts.List("me").Execute(); 
IList<Draft> drafts = draftsResponse.Drafts; 
+0

不工作...它再次卡在'AuthorizeAsync( )' –

+0

當前穩定的Auth庫可能存在問題,請嘗試以下預發佈版本: https://www.nuget.org/packages/Google.Apis.Authentication –

+0

該庫已過時,沒有意義那 –

相關問題