我是C#的新手,我正在创建一个使用API连接到Google Analytics的控制台应用程序。我已经得到它所以它写入控制台中抓取的数据并将其导出为CSV但是我在这里指定了日期:
static void Main(string[] args) {
Authenticate();
**getVisits("2013-01-01", "2015-01-28");**
PercentInc();
}
我需要它从我第一次开始跟踪网站时开始,而不是手动输入。 原因:这个工具的想法是通过一个由GA ID组成的数据库表循环,然后将数据写入CSV文档,但将来它将被放入数据库。
这是getVisits函数
static void getVisits(string fromDate, string toDate) {
DataResource.GaResource.GetRequest request = service.Data.Ga.Get(
"ga:" + websiteCode,
fromDate,
toDate,
"ga:users");
request.Dimensions = "ga:year,ga:month,ga:day";
var data = request.Execute();
foreach (var row in data.Rows) {
DateTime visitDate = new DateTime(int.Parse(row[0]), int.Parse(row[1]), int.Parse(row[2]));
int numVisits = int.Parse(row[3]);
if (numVisits == 0) {
}
string filePath = "exports/" + clientGAID + ".csv";
Console.ForegroundColor = ConsoleColor.DarkGray;
Console.WriteLine("Completed [" + visitDate.ToString("dd-MM-yyyy") + "] Client: " + clientGAID + " {" + numVisits + "}");
if (!File.Exists(filePath)) {
File.Create(filePath).Close();
}
string delimiter = ",";
string[][] output = new string[][]{
new string[]{visitDate.ToString("dd-MM-yyyy") + "," + numVisits}
};
int length = output.GetLength(0);
StringBuilder sb = new StringBuilder();
for (int index = 0; index < length; index++)
sb.AppendLine(string.Join(delimiter, output[index]));
File.AppendAllText(filePath, sb.ToString());
}
}
简而言之,这就是我需要做的事情:
注意:
提前致谢。
答案 0 :(得分:1)
这是一个非常好的问题。
选项1:
提出请求
这将返回帐户有日期的第一个日期,然后您可以使用它。 Query Explore example
选项2:
从Mangagment API请求信息。管理api返回帐户的创建日期。 Account.list
注意:请记住,如果您一次抓取所有这些数据,您最终会得到采样数据。确保您的请求很小。