YouTube Reporting API - Get Bulk Data Reports

YouTube, İçerik Stüdyosu'nda ilgili raporlara erişimi olan içerik sahipleri için otomatik olarak bir dizi sistem tarafından yönetilen reklam geliri raporu oluşturur. Bu raporlar, YouTube İçerik Stüdyosu'nun Raporlar menüsünde bulunan ve manuel olarak indirilebilen raporlarda da yer alan verilere programatik erişim sağlamak için tasarlanmıştır.

Not: API, raporlar benzer veriler içerse de İçerik Stüdyosu'ndan farklı bir rapor grubuna erişim sağlar. API raporları farklı alanlara sahip olabilir ve Creator Studio raporlarından farklı alan adları kullanabilir.

YouTube, sistem tarafından yönetilen raporları otomatik olarak oluşturduğundan bu raporları alma süreci, API üzerinden kullanılabilen YouTube Analytics toplu veri raporlarını alma sürecinden farklıdır.

Raporları alma

Aşağıdaki adımlarda, sistem tarafından yönetilen raporların API aracılığıyla nasıl alınacağı açıklanmaktadır.

1. adım: Yetkilendirme kimlik bilgilerini alın

Tüm YouTube Reporting API istekleri yetkilendirilmelidir. Yetkilendirme kılavuzunda, yetkilendirme jetonlarını almak için OAuth 2.0 protokolünün nasıl kullanılacağı açıklanmaktadır.

YouTube Reporting API istekleri aşağıdaki yetkilendirme kapsamlarını kullanır:

Kapsamlar
https://www.googleapis.com/auth/yt-analytics.readonly YouTube içeriğiniz için YouTube Analytics raporlarını görüntüleyin. Bu kapsam, görüntüleme sayısı ve derecelendirme sayısı gibi kullanıcı etkinliği metriklerine erişim sağlar.
https://www.googleapis.com/auth/yt-analytics-monetary.readonly YouTube içeriğiniz için YouTube Analytics finansal raporlarını görüntüleyin. Bu kapsam, kullanıcı etkinliği metriklerine, tahmini gelire ve reklam performansı metriklerine erişim sağlar.

2. adım: İstenen raporun iş kimliğini alın

Sistem tarafından yönetilen işlerin listesini almak için jobs.list yöntemini çağırın. includeSystemManaged parametresini true olarak ayarlayın.

Döndürülen her Job kaynağındaki reportTypeId özelliği, söz konusu işle ilişkilendirilmiş sistem tarafından yönetilen raporun türünü tanımlar. Uygulamanızın, bir sonraki adımda aynı kaynaktaki id özellik değerine ihtiyacı vardır.

Raporlar dokümanında, kullanılabilir raporlar, rapor türü kimlikleri ve içerdiği alanlar listelenir. Desteklenen rapor türlerinin listesini almak için reportTypes.list yöntemini de kullanabilirsiniz.

3. adım: Raporun indirme URL'sini alın

İş için oluşturulan raporların listesini almak üzere jobs.reports.list yöntemini çağırın. İstek içinde jobId parametresini, almak istediğiniz raporun iş kimliğine ayarlayın.

Aşağıdaki parametrelerden herhangi birini veya tümünü kullanarak rapor listesini filtreleyebilirsiniz:

  • API'nin yalnızca belirtilen bir zamandan sonra oluşturulan raporları döndürmesi gerektiğini belirtmek için createdAfter parametresini kullanın. Bu parametre, API'nin yalnızca henüz işlemediğiniz raporları döndürmesini sağlamak için kullanılabilir.

  • API yanıtının yalnızca rapordaki en eski veriler belirtilen tarihten önceyse raporları içermesi gerektiğini belirtmek için startTimeBefore parametresini kullanın. createdAfter parametresi raporun oluşturulduğu zamanla ilgiliyken bu tarih, rapordaki verilerle ilgilidir.

  • API yanıtının yalnızca rapordaki en eski veriler belirtilen tarihte veya sonrasında ise raporları içermesi gerektiğini belirtmek için startTimeAtOrAfter parametresini kullanın. startTimeBefore parametresinde olduğu gibi, bu parametre değeri de raporun oluşturulma zamanına değil, rapordaki verilere karşılık gelir.

API yanıtı, söz konusu iş için Report kaynaklarının listesini içerir. Her kaynak, benzersiz bir döneme ait verileri içeren bir raporu ifade eder.

  • Kaynağın startTime ve endTime özellikleri, raporun verilerinin kapsadığı zaman aralığını tanımlar.
  • Kaynağın downloadUrl özelliği, raporun alınabileceği URL'yi tanımlar.
  • Kaynağın createTime özelliği, raporun oluşturulduğu tarih ve saati belirtir. Uygulamanız bu değeri saklamalı ve daha önce indirilen raporların değişip değişmediğini belirlemek için kullanmalıdır.

4. adım: Raporu indirin

Raporu almak için 4. adımda elde edilen downloadUrl değerine bir HTTP GET isteği gönderin.

İşleme raporları

En iyi uygulamalar

YouTube Reporting API'yi kullanan uygulamalar her zaman şu uygulamaları takip etmelidir:

  • Raporun sütunlarının sıralamasını belirlemek için raporun başlık satırını kullanın. Örneğin, görüntülemeler, rapor açıklamasında listelenen ilk metrik olduğu için raporda döndürülen ilk metrik olacağını varsaymayın. Bunun yerine, hangi sütunda bu verilerin bulunduğunu belirlemek için raporun başlık satırını kullanın.

  • Aynı raporun tekrar tekrar işlenmesini önlemek için indirdiğiniz raporların kaydını tutun. Aşağıdaki listede bunu yapmanın birkaç yolu önerilmektedir.

    • reports.list yöntemini çağırırken yalnızca belirli bir tarihten sonra oluşturulan raporları almak için createdAfter parametresini kullanın. (Raporları ilk kez aldığınızda createdAfter parametresini atlayın.)

      Raporları her aldığınızda ve başarılı bir şekilde işlediğinizde, bu raporların en yenisinin oluşturulduğu tarih ve saate karşılık gelen zaman damgasını saklayın. Ardından, API'yi her çağırdığınızda yalnızca yeni raporları (geri doldurulmuş veriler içeren yeni raporlar dahil) aldığınızdan emin olmak için reports.list yöntemine yapılan her ardışık çağrıda createdAfter parametre değerini güncelleyin.

      Güvenlik önlemi olarak, raporu almadan önce raporun kimliğinin veritabanınızda listelenmediğinden de emin olun.

    • İndirip işlediğiniz her raporun kimliğini saklayın. Ayrıca, her raporun oluşturulduğu tarih ve saat veya raporun startTime ve endTime gibi ek bilgileri de saklayabilirsiniz. Bu bilgiler, raporun veri içerdiği dönemi birlikte tanımlar. YouTube Analytics için toplu verileri alan raporlarda, her rapor 24 saatlik bir döneme ait veriler içerdiğinden her işte muhtemelen birçok rapor bulunur. Daha uzun zaman aralıklarını kapsayan sistem tarafından yönetilen işlerde daha az rapor bulunur.

      Hâlâ indirmeniz ve içe aktarmanız gereken raporları belirlemek için rapor kimliğini kullanın. Ancak iki yeni rapor aynı startTime ve endTime özellik değerlerine sahipse yalnızca daha yeni createTime değerine sahip raporu içe aktarın.

Rapor özellikleri

API raporları, aşağıdaki özelliklere sahip .csv (virgülle ayrılmış değerler) dosyalarıdır:

  • Her rapor, raporun başlangıç tarihinde Pasifik saatiyle 00:00'dan raporun bitiş tarihinde Pasifik saatiyle 23:59'a kadar süren benzersiz bir döneme ait verileri içerir.

  • Rapor verileri sıralanmamış.