Rapor görevleriyle ilgili temel bilgiler

Rapor görevlerini kullanarak Google Analytics etkinlik verilerinizin Özel Raporunu oluşturmak için uzun süren bir asenkron istek başlatabilirsiniz.

Bu istekten oluşturulan rapor görevi kaynağı, Google Analytics mülkünüze okuma erişimi olan tüm kullanıcılar tarafından özel raporlara erişmek için kullanılabilir.

Özel rapor, hazır olduktan sonra 72 saat boyunca kullanılabilir. Bu sürenin ardından ilgili rapor görevi kaynağı ve içeriği otomatik olarak silinir.

Rapor görevi oluşturma

Google Analytics Data API v1, rapor görevleri oluşturmak için eşzamansız bir yaklaşım kullanır. Öncelikle bir rapor görevi oluşturmak için reportTasks.create yöntemine istek göndermeniz gerekir. Ardından, oluşturulan özelleştirilmiş raporu almak için reportTasks.query yöntemi kullanılır.

Ayrıca, belirli bir rapor göreviyle ilgili yapılandırma meta verilerini almak için reportTasks.get ve bir mülkle ilgili tüm rapor görevlerini listelemek için reportTasks.list kullanabilirsiniz.

Raporlama öğesi seçme

Data API v1'in tüm yöntemlerinde, Google Analytics mülk tanımlayıcısının bir URL istek yolunda properties/GA_PROPERTY_ID biçiminde belirtilmesi gerekir. Örneğin:

  POST  https://analyticsdata.googleapis.com/v1alpha/properties/GA_PROPERTY_ID/reportTasks

Rapor, belirtilen Google Analytics mülkünde toplanan Google Analytics etkinlik verilerine göre oluşturulur.

Data API istemci kitaplıklarından birini kullanıyorsanız istek URL'si yolunu manuel olarak değiştirmeniz gerekmez. Çoğu API istemcisi, property parametresini sağlar. Bu parametre, properties/GA_PROPERTY_ID biçiminde bir dize bekler. İstemci kitaplıklarını kullanma örnekleri için Hızlı başlangıç kılavuzu'na bakın.

Rapor görevi oluşturma isteğinde bulunma

Rapor görevi oluşturmak için istekte ReportTask nesnesini kullanarak reportTasks.create yöntemini çağırın. Aşağıdaki parametreler gereklidir:

Örnek rapor görevi oluşturma isteği:

HTTP İsteği

POST https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks
{
  "reportDefinition": {
    "dateRanges": [{ "startDate": "2024-05-01"", "endDate": "2024-05-15" }],
    "dimensions": [{ "name": "country" }],
    "metrics": [{ "name": "activeUsers" }]
  }
}

reportTasks.create yönteminin yanıtı, name alanında Rapor Görevi adını (ör. properties/1234567/reportTasks/123) içerir. Bu ad, rapor görevinin durumunu almak ve sonuç raporunu almak için sonraki sorgularda kullanılabilir.

HTTP Yanıtı

{
  "response": {
    "@type": "type.googleapis.com/google.analytics.data.v1alpha.ReportTask",
    "name": "properties/1234567/reportTasks/123",
    "reportDefinition": {
      "dimensions": [
        {
          "name": "country"
        }
      ],
      "metrics": [
        {
          "name": "activeUsers"
        }
      ],
      "dateRanges": [
        {
          "startDate": "2024-05-01",
          "endDate": "2024-05-15"
        }
      ]
    },
    "reportMetadata": {
      "state": "CREATING",
      "beginCreatingTime": "2024-05-16T00:00:01.133612336Z"
    }
  }
}

Rapor görevine hazırlık durumunu alma

reportTasks.create görüşmesinden sonra raporun oluşturulması birkaç dakika sürebilir. reportTasks.get yöntemini çağırarak bir rapor görevinin hazırlık durumunu elde edebilirsiniz.

Rapor görevini belirtmek için reportTasks.create yanıtından aldığınız rapor görev adını (ör. properties/1234567/reportTasks/123) kullanın.

Örnek:

HTTP İsteği

GET https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks/123

Bir rapor görevinin hazırlık durumu, yanıtın state alanında döndürülür. Rapor oluşturma işlemi tamamlandıktan sonra rapor görevinin durumu CREATING'dan ACTIVE'a değişir.

reportMetadata alanı, oluşturulan raporla ilgili üst düzey bilgileri (ör. satır sayısı ve kullanılan kota jetonlarının miktarı) içerir.

HTTP Yanıtı

{
  "reportDefinition": {
    "dimensions": [
      {
        "name": "country"
      }
    ],
    "metrics": [
      {
        "name": "activeUsers"
      }
    ],
    "dateRanges": [
      {
        "startDate": "2024-05-01",
        "endDate": "2024-05-15"
      }
    ]
  },
  "reportMetadata": {
    "state": "ACTIVE",
    "beginCreatingTime": "2024-05-16T00:00:01.133612336Z",
    "creationQuotaTokensCharged": 6,
    "taskRowCount": 167,
    "errorMessage": "",
    "totalRowCount": 167
  }
}

reportTasks.list yöntemini çağırarak tüm rapor görevlerinin durumunu alabilirsiniz.

Oluşturulan raporu alma

reportTasks.create yöntemi kullanılarak oluşturulan rapor görevi oluşturulduğunda reportTasks.query yöntemini çağırın ve rapor görevi adını (ör. properties/1234567/reportTasks/123) belirtin.

HTTP İsteği

POST https://analyticsdata.googleapis.com/v1alpha/properties/1234567/reportTasks/123:query

Rapor görevi hazırsa oluşturulan raporu içeren bir yanıt döndürülür:

HTTP Yanıtı

{
  "dimensionHeaders": [
    {
      "name": "country"
    }
  ],
  "metricHeaders": [
    {
      "name": "activeUsers",
      "type": "TYPE_INTEGER"
    }
  ],
  "rows": [

...

  ],
  "rowCount": 167,
  "metadata": {
    "currencyCode": "USD",
    "timeZone": "America/Los_Angeles"
  }
}