代码连接到谷歌分析API与c#错误

本文关键字:API 错误 连接 谷歌 代码 | 更新日期: 2023-09-27 18:18:37

我尝试使用谷歌分析与c#获得统计信息显示在我的网站这是我的代码

      public ActionResult Index()
    {
        string userName = "admin@email.com";
        string passWord = "mypass";
        string profileId = "ga:xxxxxxxx";
        string key = "2d751338cb092ef8da65f716e37a48604386c9sw";
       string dataFeedUrl = "https://www.google.com/analytics/feeds/data"+key;
        var service = new AnalyticsService("API Project");
        service.setUserCredentials(userName, passWord);
        var dataQuery = new DataQuery(dataFeedUrl)
        {
            Ids = profileId,
            Metrics = "ga:pageviews",
            Sort = "ga:pageviews",
            GAStartDate = new DateTime(2010, 3, 1).ToString("yyyy-MM-dd"),
            GAEndDate = DateTime.Now.ToString("yyyy-MM-dd")
        };
        var dataFeed = service.Query(dataQuery);
        var totalEntry = dataFeed.Entries[0];
        ViewData["Total"] = ((DataEntry)(totalEntry)).Metrics[0].Value;
        dataQuery.GAStartDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
        dataQuery.GAEndDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
        dataFeed = service.Query(dataQuery);
        var yesterdayEntry = dataFeed.Entries[0];
        ViewData["Yesterday"] = ((DataEntry)(yesterdayEntry)).Metrics[0].Value;
        dataQuery.GAStartDate = DateTime.Now.ToString("yyyy-MM-dd");
        dataQuery.GAEndDate = DateTime.Now.ToString("yyyy-MM-dd");
        dataFeed = service.Query(dataQuery);
        var todayEntry = dataFeed.Entries[0];
        ViewData["Today"] = ((DataEntry)(todayEntry)).Metrics[0].Value;
        return View(dataFeed.Entries);
    }

但是当我运行代码时,它总是说"{"Invalid credentials"}"不知道为什么我面对这个错误,而我检查了很多次关于密钥,用户名,密码和profileId有人遇到这个问题,可以帮助我吗?非常感谢

代码连接到谷歌分析API与c#错误

我认为你的url是错误的。按这种方式尝试(您缺少?key=)。

string dataFeedUrl = "https://www.google.com/analytics/feeds/data?key="+key;

参考这个谷歌的例子,这里有这个例子,应该帮助你

 public DataFeedExample()
    {
      // Configure GA API.
      AnalyticsService asv = new AnalyticsService("gaExportAPI_acctSample_v2.0");
      // Client Login Authorization.
      asv.setUserCredentials(CLIENT_USERNAME, CLIENT_PASS);
      // GA Data Feed query uri.
      String baseUrl = "https://www.google.com/analytics/feeds/data";
      DataQuery query = new DataQuery(baseUrl);
      query.Ids = TABLE_ID;
      query.Dimensions = "ga:source,ga:medium";
      query.Metrics = "ga:visits,ga:bounces";
      query.Segment = "gaid::-11";
      query.Filters = "ga:medium==referral";
      query.Sort = "-ga:visits";
      query.NumberToRetrieve = 5;
      query.GAStartDate = "2010-03-01";
      query.GAEndDate = "2010-03-15";
      Uri url = query.Uri;
      Console.WriteLine("URL: " + url.ToString());

      // Send our request to the Analytics API and wait for the results to
      // come back.
      feed = asv.Query(query);

    }

请参考本指南来配置您的项目

还可以按照本指南使用OAuth 2.0