我正在使用带有服务帐户的最新beta 1.5(1.5.0.28991)Google API,并且在执行身份验证时在AssertionFlowClient行上遇到此错误:
找不到方法:'Void 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 };
我正在打破这个问题 - 任何指针都会受到赞赏。
答案 0 :(得分:0)
从......
下载样本(下载链接证书不正确,因此您无法使用Chrome下载,您必须使用IE浏览器)
从" Plus.ServiceAccount"中窃取packages.config和app.config文件。项目并将它们放在您的项目中。
重新加载您的项目,然后在"包管理器控制台"当它要求下载软件包时,请让它。
这让我的错误消失了。我一定是在使用错误版本的东西。
答案 1 :(得分: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中的度量,维度,计算特征,您可以直接使用它们,就像上面的示例一样,玩得很开心:)享受