11

在 javascript 中,我试图访问谷歌缩短网址的分析数据,例如。我厌倦了“URL Shortener API”,它工作得很好,我收到了数据。但是这些数据没有一天中每个小时或一个月中每一天的分析报告,因为它在此处可用。作为响应,它具有一些属性,例如“点击”和“存储桶”,其中包含我需要的点击计数。检查下图:

在此处输入图像描述

但是这些属性在我使用“shortener API”收到的数据中不可用。为此,我可能会使用 Google 分析 API。谁能建议我如何使用分析 api 来获取任何缩短 url 的分析?

谢谢

4

1 回答 1

7

您确定您正确使用了 URL Shortener API 吗?

如果我检查您提供的示例,其中包含您需要的数据,例如过去两个小时(每小时不存在)或过去一天的报告,我可以看到例如:

  • 过去两个小时内总共点击了 6 次。
  • 过去一天的点击次数为 1243。

如果我尝试使用 URL Shortener API 为相同的短 url 获取相同的数据:

curl -X "GET" "https://www.googleapis.com/urlshortener/v1/url?shortUrl=http://goo. gl/fbsS&projection=FULL&key=YOUR-API-KEY"

我会得到相同的数据:

{
  "kind": "urlshortener#url",
  "id": "http://goo. gl/fbsS",
  "longUrl": "http://www.google.com/",
  "status": "OK",
  "created": "2009-12-13T07:22:55.000+00:00",
  "analytics": {
    "allTime": /* ... */,
    "month": /* ... */,
    "day": {
      "shortUrlClicks": "1243",
      /* ... */,
    },
    "twoHours": {
      "shortUrlClicks": "6",
      /* ... */,
    }
  }
}

所以我过去一天有 1243 次点击,过去两个小时有 6 次点击,数据是相同的。

如果您需要从所有时间获取所有数据,您要么必须自己存储数据,要么像您说的那样使用 Google Analytics。

Google Analytics 和短 URL 在 Analytics 中处理起来可能非常棘手,因为它们会将用户从他们的网站重定向到您的网站,这可能导致 Analytics 将他们视为“直接”而不是来自您指定的任何活动(时事通讯、Facebook、Twitter 等) .)。

您需要标记您的 URL 以便正确跟踪它们。通常,您需要使用Google URL Builder为您的 URL 生成自定义广告系列参数。

Google URL Builder 没有 API,但您可以使用上一个链接中提供的详细信息生成自己的有效 URL,并在非短 URL(如utm_sourceutm_mediumutm_term等)的末尾附加部分或全部参数。

当您的非短 URL 被正确标记后,​​您可以使用任何您想要的服务来缩短它们。

要取回数据,您需要使用 Google Analytics API,特别是 Reporting API。

一经认证,

var discoveryURL = 'https://analyticsreporting.googleapis.com/$discovery/rest?version=v4';

// Load the API
gapi.client.load(discoveryURL)
  .then(function() {
    // Returns Analytics data.
    gapi.client.analyticsreporting.reports.batchGet({
      "reportRequests": [
        {
          "viewId": VIEW_ID, 
          // View IDs can be fetched from the Analytics Account Explorer
          // https://ga-dev-tools.appspot.com/account-explorer/
          "dateRanges": [
            {
              "startDate": "7daysAgo",
              "endDate": "today"
            }
          ],
          "metrics": [
            {
              "expression": "ga:sessions"
            }
          ]
        }
      ]
    })
    .then(function(response) {
      var json = JSON.stringify(response.result, null, 2);

      // Do anything you want with the JSON returned.
    });
  });

这里使用的主要功能是batchGet,您可以获取有关您可以在Reporting API v4 参考中使用的字段和选项的所有信息。

您将能够使用日期 ( DateRange )、维度等各种字段来获取应用程序中需要的所有数据。

于 2016-07-07T10:11:43.123 回答