Google AnalyticsAPI来自日期,todate。如何从开始跟踪开始?

时间:2015-03-18 11:54:25

标签: c# google-analytics google-analytics-api

我是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());
        }
    }

简而言之,这就是我需要做的事情:

  • 让控制台在我开始跟踪网站的日期自动启动。

注意:

  • 该工具可以抓取日期和访问量

提前致谢。

1 个答案:

答案 0 :(得分:1)

这是一个非常好的问题。

选项1:

提出请求

  • 尺寸:ga:日期
  • 指标:ga:会话
  • 将开始日期设置为2005-01-01(这是Google Analytics启动的第一个日期)。
  • 结束日期到今天。
  • 过滤器:ga:会话&gt; 0
  • maxresults:1

这将返回帐户有日期的第一个日期,然后您可以使用它。 Query Explore example

选项2:

从Mangagment API请求信息。管理api返回帐户的创建日期。 Account.list

注意:请记住,如果您一次抓取所有这些数据,您最终会得到采样数据。确保您的请求很小。