我在处理程序中编写了以下代码以获取asp.net网站中的访问者计数器
using Google.Analytics;
using Google.GData.Analytics; //v2.2.0.0
public class Visitor : IHttpHandler {
public void ProcessRequest (HttpContext context) {
AccountQuery feedQuery = new AccountQuery();
AnalyticsService service = new AnalyticsService("kiranaAnalytic");
service.setUserCredentials("myemailid@gmail.com", "mypassword");
DataQuery pageViewQuery = new DataQuery("https://www.google.com/analytics/feeds/data");//https://www.google.com/analytics/feeds/data
pageViewQuery.Ids = "ga:xxxx";
pageViewQuery.Metrics = "ga:visitors";
pageViewQuery.GAStartDate = "2014-05-01";//DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
pageViewQuery.GAEndDate = DateTime.Now.ToString("yyyy-MM-dd");
DataEntry pvEntry = service.Query(pageViewQuery).Entries[0] as DataEntry;
context.Response.ContentType = "text/plain";
context.Response.Write(pvEntry.Metrics[0].Value);
}
public bool IsReusable {
get {
return false;
}
}
}
直到周日才工作正常。但我突然开始得到以下错误。 “Google.GData.Client.GDataRequestException:执行身份验证请求已返回”
有没有人对此有所了解或谷歌做了一些改变?
答案 0 :(得分:1)
这表示您的身份验证有问题。您似乎正在使用名为客户端登录的登录名和密码。
客户端登录已在April 20 2015停止/关闭,我怀疑周二已关闭Google Analytics。您无法再使用Google AnalyticsAPI进行客户端登录,您需要切换到Oauth2或服务帐户。我建议使用Google .net client library。
答案 1 :(得分:0)
Google关闭旧帐户密码身份验证。您需要移动代码才能使用Oauth。