1

我正在使用带有服务帐户的 Google API 的最新 beta 1.5 (1.5.0.28991),并且在进行身份验证时在 AssertionFlowClient 行上遇到此错误:

找不到方法:'无效 DotNetOpenAuth.OAuth2.ClientBase..ctor(DotNetOpenAuth.OAuth2.AuthorizationServerDescription, System.String, System.String)'。

DotNetOpenAuth V4.3.1.13153

AuthorizationServerDescription desc = GoogleAuthenticationServer.Description;
X509Certificate2 key = new X509Certificate2(key_file, key_pass, X509KeyStorageFlags.Exportable);
AssertionFlowClient client = new AssertionFlowClient(desc, key) { ServiceAccountId = client_id, Scope = scope };

我对此感到头疼 - 任何指示都会受到赞赏。

4

2 回答 2

0

从...下载示例

https://code.google.com/p/google-api-dotnet-client/source/browse/Plus.ServiceAccount/Program.cs?repo=samples

(下载链接证书不好,不能用Chrome下载,必须用IE)

从“Plus.ServiceAccount”项目中窃取 packages.config 和 app.config 文件并将它们放入您的项目中。

重新加载你的项目,然后在“包管理器控制台”上,当它要求下载包时,让它。

这让我的错误消失了。我一定是用了错误的版本……某事。

于 2013-09-10T16:55:56.813 回答
0

我昨天检查了分析 API,注意到它是多么无证,也没有样本等。

无论如何,我创建了一个库,您可以使用它通过几行轻松访问分析,并直接将数据绑定到 DataTables 以获取返回的数据,它在 github 上是开源的,所以请随意贡献:)

https://github.com/rmostafa/DotNetAnalyticsAPI

用法

Analytics.AnalyticsManager manager = new Analytics.AnalyticsManager(Server.MapPath("~/bin/privatekey.p12"), "YOUR_EMAIL");
            manager.LoadAnalyticsProfiles();

List<Analytics.Data.DataItem> metrics = new List<Analytics.Data.DataItem>();
metrics.Add(Analytics.Data.Session.Metrics.visits);
List<Analytics.Data.DataItem> dimensions = new List<Analytics.Data.DataItem>();
dimensions.Add(Analytics.Data.GeoNetwork.Dimensions.country);


System.Data.DataTable table = manager.GetGaDataTable(DateTime.Today.AddDays(-3), DateTime.Today, metrics, dimensions, null, metrics);

所有 Google API 报告命令都有直接的代码映射,其分类方式与 API 相同,因此即使根本不阅读 API 文档,您也可以使用它,因为属性中记录了所有功能,我编写了解析完整 api 文档的代码和资源化了我从物理类生成的 XML 中的 Metrics、Dimensions、Calculated Features,您可以像上面的示例一样直接使用它们,玩起来很有趣 :) 享受

于 2014-01-30T00:21:15.673 回答