我正在尝试使用Google提供的.NET API https://code.google.com/p/google-api-dotnet-client/ https://www.nuget.org/packages/Google.Apis.Authentication/
由于Google中的大多数API需要oAuth令牌才能从中获取任何数据,因此我很难克服这个第一道障碍。
我的计划是创建一个非常简单的.NET Web API,通过API列出我的Google Analytic的帐户,然后我可以使用它与AngularJS一起使用从我的WebAPI调用返回的JSON绑定到一个漂亮的小视图。
我提到的问题是,似乎有很多不同的例子浮出水面,似乎无法让任何工作。它的过时或示例项目都没有编译等......
根据我的理解,我需要将Authenticator对象传递给BaseClient对象,而BaseClient对象又用于任何Service API。
以下是我尝试开始工作的一个粗略示例,但目前失败并从Google的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;
}
答案 0 :(得分:1)
要创建身份验证器,您需要一个名为“Google API OAuth2 Client Library”的nuget包,但我下载了一个名为“Google.Apis.Oauth2.v2 Client Library”的块包。相似的名字,但不一样。
我无法在金块页面上找到正确的一个。如果您对该包执行搜索,它将不会显示。我不得不使用Visual Studio Nugget搜索器并激活“show prerealese packages”来安装它。