2013-09-22 40 views
1

我試圖使用.NET API的谷歌從 https://code.google.com/p/google-api-dotnet-client/ https://www.nuget.org/packages/Google.Apis.Authentication/如何在Google C#.NET API中使用oAuth?

由於大部分來自谷歌這些API需要OAuth憑證,爲您獲取他們的任何數據,我奮力渡過這第一關。

我的計劃是創建一個非常簡單的.NET Web API,通過API列出我的Google Analytic帳戶,然後我可以使用AngularJS綁定到一個漂亮的小視圖,並使用從我的WebAPI調用返回的JSON 。

我提到的問題是,似乎有很多不同的例子蕩蕩,我似乎無法得到任何以工作。或者它的過時或示例項目不編譯等...

從我能理解的我需要傳遞一個Authenticator對象到BaseClient對象,它反過來用於任何服務API。

下面是我試圖去工作一個粗略的例子,但現在失敗,會得到一個錯誤,從谷歌的API回來,因爲我不是在/通過OAuth憑證記錄。任何人都可以給我任何指示或建議請。

謝謝,沃倫

[HttpGet] 
public IEnumerable<Account> GetAccounts() 
{ 
    var baseClient    = new BaseClientService.Initializer(); 
    baseClient.ApplicationName = "Google Stats Example"; 
    baseClient.Authenticator = null; //Unsure how to get the oAuth token 

    AnalyticsService stats  = new AnalyticsService(baseClient); 
    var accounts    = stats.Management.Accounts.List(); 
    var allAccounts    = accounts.Execute(); 

    return allAccounts.Items; 
} 

回答

1

要創建你需要一個名爲「谷歌的API的OAuth2客戶端庫」一個NuGet包的認證,但我下載了一個名爲「Google.Apis.Oauth2.v2客戶端庫」金塊包。相似的名字但不一樣。

我沒能找到金塊頁面上正確的。如果您在該包上執行搜索,則不會顯示。我不得不使用Visual Studio Nugget搜索器並激活「show prerealese packages」來安裝它。

+0

謝謝我認爲我已經安裝了相同的金塊,需要嘗試另一個建議。請給我一個工作示例,我可以看看嗎? –

+1

一旦您安裝了正確的軟件包,您可以使用任何示例。像這樣的: https://code.google.com/p/google-api-dotnet-client/source/browse/Tasks.SimpleOAuth2/Program.cs?repo=samples – Jipo

+0

謝謝,我已經試過了ASP.NET來自該回購網站的WebForms示例,它非常棒。 我只需要嘗試弄清楚這將如何在ASP.NET WebAPI上下文中工作。 –

相關問題