API Reference

YouTube Data API, normalde YouTube web sitesinde yürütülen işlevleri kendi web sitenize veya uygulamanıza dahil etmenizi sağlar. Aşağıdaki bölümlerde, API kullanarak alabileceğiniz farklı kaynak türleri açıklanmaktadır. API, bu kaynakların birçoğunu ekleme, güncelleme veya silme yöntemlerini de destekler.

Bu referans kılavuzda, tüm bu işlemleri gerçekleştirmek için API'nin nasıl kullanılacağı açıklanmaktadır. Kılavuz, kaynak türüne göre düzenlenmiştir. Kaynak, YouTube deneyiminin bir parçası olan öğe türünü (ör. video, oynatma listesi veya abonelik) ifade eder. Rehberde her kaynak türü için bir veya daha fazla veri gösterimi listelenir ve kaynaklar JSON nesneleri olarak gösterilir. Kılavuzda ayrıca her kaynak türü için bir veya daha fazla desteklenen yöntem (LIST, POST, DELETE vb.) listelenir ve bu yöntemlerin uygulamanızda nasıl kullanılacağı açıklanır.

API'yi çağırma

YouTube Data API istekleri için aşağıdaki şartlar geçerlidir:

  1. Her istekte API anahtarı (key parametresiyle) belirtilmeli veya OAuth 2.0 jetonu sağlanmalıdır. API anahtarınız, projeniz için Developer Console'un API Erişimi panelinde bulunur.

  2. Her ekleme, güncelleme ve silme isteği için bir yetkilendirme jetonu göndermeniz gerekir. Ayrıca, kimliği doğrulanmış kullanıcının gizli verilerini alan tüm istekler için bir yetkilendirme jetonu göndermeniz gerekir.

    Ayrıca, kaynakları almak için kullanılan bazı API yöntemleri, yetkilendirme gerektiren parametreleri destekleyebilir veya istekler yetkilendirildiğinde ek meta veriler içerebilir. Örneğin, bir kullanıcının yüklediği videoları alma isteği, söz konusu kullanıcı tarafından yetkilendirilirse gizli videoları da içerebilir.

  3. API, OAuth 2.0 kimlik doğrulama protokolünü destekler. OAuth 2.0 jetonunu aşağıdaki yöntemlerden biriyle sağlayabilirsiniz:

    • access_token sorgu parametresini şu şekilde kullanın: ?access_token=oauth2-token
    • HTTP Authorization üst bilgisini şu şekilde kullanın: Authorization: Bearer oauth2-token

    Uygulamanızda OAuth 2.0 kimlik doğrulamasını uygulama ile ilgili tüm talimatları kimlik doğrulama kılavuzunda bulabilirsiniz.

Kaynak türleri

Etkinlikler

activity kaynağı, belirli bir kanalın veya kullanıcının YouTube'da gerçekleştirdiği bir işlemle ilgili bilgiler içerir. Etkinlik akışlarında bildirilen işlemler arasında videolara puan verme, video paylaşma, videoları favori olarak işaretleme, video yükleme vb. yer alır. Her bir activity kaynağı, işlem türünü, işlemle ilişkili kanalı ve işlemle ilişkili kaynakları(ör. derecelendirilen veya yüklenen video) tanımlar.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /activities İstek ölçütleriyle eşleşen kanal etkinliği etkinliklerinin listesini döndürür. Örneğin, belirli bir kanalla veya kullanıcının kendi kanalıyla ilişkili etkinlikleri alabilirsiniz.

Altyazılar

caption kaynağı, YouTube altyazı parçasını temsil eder. Altyazı parçası tam olarak bir YouTube videosuyla ilişkilendirilir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
delete DELETE /captions Belirtilen altyazı parçasını siler.
download GET /captions/id Altyazı parçası indirir. İstek, tfmt parametresi için bir değer belirtmediği sürece altyazı parçası orijinal biçiminde, tlang parametresi için bir değer belirtmediği sürece de orijinal dilinde döndürülür.
insert POST /captions Altyazı parçası yükler.
list GET /captions Belirtilen bir videoyla ilişkili altyazı parçalarının listesini döndürür. API yanıtı gerçek altyazıları içermiyor ve captions.download yöntemi, altyazı parçası alma olanağı sağlıyor.
update PUT /captions Altyazı parçasını günceller. Altyazı parçasını güncellerken parçanın taslak durumunu değiştirebilir, parçaya yeni bir altyazı dosyası yükleyebilir veya her ikisini de yapabilirsiniz.

ChannelBanners

channelBanner kaynağı, yeni yüklenen bir resmi kanalın banner resmi olarak ayarlamak için kullanacağınız URL'yi içerir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
insert POST /channelBanners/insert YouTube'a kanal banner'ı resmi yükler. Bu yöntem, bir kanalın banner resmini güncellemek için üç adımlı sürecin ilk iki adımını temsil eder:
  1. İkili görüntü verilerini YouTube'a yüklemek için channelBanners.insert yöntemini çağırın. Resmin en boy oranı 16:9 ve boyutu en az 2048x1152 piksel olmalıdır. 2560 piksel x 1440 piksel boyutunda bir resim yüklemenizi öneririz.
  2. API'nin 1. adım için döndürdüğü yanıttan url özelliğinin değerini ayıklayın.
  3. Kanalın marka öğeleri ayarlarını güncellemek için channels.update yöntemini çağırın. brandingSettings.image.bannerExternalUrl özelliğinin değerini 2. adımda elde edilen URL olarak ayarlayın.

ChannelSections

channelSectionKaynaklar, bir kanalın öne çıkarmayı seçtiği bir grup video hakkında bilgi içerir. Örneğin, bir bölümde kanalın en son yüklemeleri, en popüler yüklemeleri veya bir ya da daha fazla oynatma listesindeki videolar yer alabilir.

Bir kanalın bölümleri yalnızca kanal, içerikleri özet akışı görünümü yerine göz atma görünümünde gösteriyorsa görünür. Bir kanalın içerikleri göz atma görünümünde göstermesini sağlamak için belirtilen kanalın brandingSettings.channel.showBrowseView özelliğini true olarak ayarlayın.

Bir kanal en fazla 10 raf oluşturabilir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
delete DELETE /channelSections Kanal bölümünü siler.
insert POST /channelSections Kimliği doğrulanmış kullanıcının kanalına bir kanal bölümü ekler. Bir kanal en fazla 10 raf oluşturabilir.
list GET /channelSections channelSection kaynaklarının API isteği ölçütleriyle eşleşen listesini döndürür.
update PUT /channelSections Kanal bölümünü günceller.

Kanallar

channel kaynağı, bir YouTube kanalı hakkında bilgi içerir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /channels İstek ölçütleriyle eşleşen sıfır veya daha fazla channel kaynağının koleksiyonunu döndürür.
update PUT /channels Bir kanalın meta verilerini günceller. Bu yöntem yalnızca channel kaynağının brandingSettings ve invideoPromotion nesnelerinde ve bunların alt özelliklerinde yapılan güncellemeleri destekler.

CommentThreads

commentThread kaynağı, üst düzey bir yorum ve varsa bu yoruma verilen yanıtlardan oluşan bir YouTube yorum dizisi hakkında bilgi içerir. commentThread kaynağı, bir video veya kanal hakkındaki yorumları temsil edebilir.

Hem üst düzey yorum hem de yanıtlar aslında commentThread kaynağına yerleştirilmiş comment kaynaklarıdır. commentThread kaynağı, bir yoruma verilen tüm yanıtları içermeyebilir. Belirli bir yoruma verilen tüm yanıtları almak istiyorsanız comments.list yöntemini kullanmanız gerekir. Ayrıca, bazı yorumlar yanıtlanmamıştır.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /commentThreads API isteği parametreleriyle eşleşen yorum dizilerinin listesini döndürür.
insert POST /commentThreads Yeni bir üst düzey yorum oluşturur. Mevcut bir yoruma yanıt eklemek için bunun yerine comments.insert yöntemini kullanın.

Yorumlar

comment kaynağı, tek bir YouTube yorumuyla ilgili bilgiler içerir. comment kaynağı, bir video veya kanal hakkındaki yorumu temsil edebilir. Ayrıca yorum, üst düzey bir yorum veya üst düzey bir yoruma verilen yanıt olabilir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /comments API isteği parametreleriyle eşleşen yorumların listesini döndürür.
setModerationStatus POST /comments/setModerationStatus Bir veya daha fazla yorumun moderasyon durumunu ayarlar. API isteği, yorumlarla ilişkili kanalın veya videonun sahibi tarafından yetkilendirilmelidir.
insert POST /comments Mevcut bir yoruma yanıt oluşturur. Not: Üst düzey yorum oluşturmak için commentThreads.insert yöntemini kullanın.
delete DELETE /comments Yorumu siler.
update PUT /comments Yorumu değiştirir.

I18nLanguages

i18nLanguage kaynağı, YouTube web sitesinin desteklediği bir uygulama dilini tanımlar. Uygulama dili, kullanıcı arayüzü dili olarak da adlandırılabilir. YouTube web sitesinde, Google Hesabı ayarları, tarayıcı dili veya IP konumuna göre uygulama dili otomatik olarak seçilebilir. Kullanıcılar, YouTube sitesinin altbilgisinden de kullanıcı arayüzü dilini manuel olarak seçebilir.

Her i18nLanguage kaynak, bir dil kodu ve adı tanımlar. Dil kodu, videoCategories.list gibi API yöntemleri çağrılırken hl parametresinin değeri olarak kullanılabilir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /i18nLanguages YouTube web sitesinin desteklediği uygulama dillerinin listesini döndürür.

I18nRegions

i18nRegion kaynağı, YouTube kullanıcısının tercih edilen içerik bölgesi olarak seçebileceği bir coğrafi alanı tanımlar. İçerik bölgesi, içerik yerel ayarı olarak da adlandırılabilir. YouTube web sitesinde, YouTube alanı veya kullanıcının IP konumu gibi sezgisel yöntemlere göre içerik bölgesi otomatik olarak seçilebilir. Kullanıcılar, YouTube sitesinin altbilgisinden de içerik bölgesini manuel olarak seçebilir.

Her i18nRegion kaynağı, bir bölge kodu ve adı tanımlar. Bölge kodu, search.list, videos.list, activities.list ve videoCategories.list gibi API yöntemleri çağrılırken regionCode parametresinin değeri olarak kullanılabilir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /i18nRegions YouTube web sitesinin desteklediği içerik bölgelerinin listesini döndürür.

Üyeler

member kaynağı, bir YouTube kanalının kanal üyesini temsil eder. Üyeler, içerik üreticilere düzenli olarak maddi destek sağlar ve özel avantajlar elde eder. Örneğin, içerik üretici bir sohbet için üyelere özel modunu etkinleştirdiğinde üyeler sohbet edebilir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimine ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /members Bir kanalın üyelerini (eski adıyla "sponsorlar") listeler. API isteği, kanal sahibi tarafından yetkilendirilmelidir.

MembershipsLevels

membershipsLevel kaynağı, API isteğini yetkilendiren içerik üreticinin fiyatlandırma düzeyini tanımlar.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimine ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /membershipsLevels API isteğini yetkilendiren kanala ait sıfır veya daha fazla membershipsLevel kaynağın koleksiyonunu döndürür. Seviyeler, örtülü görüntüleme sırasına göre döndürülür.

PlaylistItems

playlistItem kaynağı, oynatma listesine dahil edilen başka bir kaynağı (ör. video) tanımlar. Ayrıca, playlistItem kaynağı, dahil edilen kaynakla ilgili ve özellikle bu kaynağın oynatma listesinde nasıl kullanıldığına dair ayrıntılar içerir.

YouTube, bir kanalın yüklenen videolar listesini tanımlamak için de oynatma listesi kullanır. Bu listedeki her playlistItem, yüklenen bir videoyu temsil eder. İlgili kanalın channel resource bölümünden bu listenin oynatma listesi kimliğini alabilirsiniz. Ardından, playlistItems.list yöntemini kullanarak listeye ekleyebilirsiniz.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
delete DELETE /playlistItems Oynatma listesi öğesini siler.
insert POST /playlistItems Oynatma listesine kaynak ekler.
list GET /playlistItems API isteği parametreleriyle eşleşen oynatma listesi öğelerinin koleksiyonunu döndürür. Belirtilen bir oynatma listesindeki tüm oynatma listesi öğelerini veya benzersiz kimliklerine göre bir veya daha fazla oynatma listesi öğesini alabilirsiniz.
update PUT /playlistItems Oynatma listesi öğesini değiştirir. Örneğin, öğenin çalma listesindeki konumunu güncelleyebilirsiniz.

Oynatma listeleri

playlist kaynağı, bir YouTube oynatma listesini temsil eder. Oynatma listesi, sırayla izlenebilen ve diğer kullanıcılarla paylaşılabilen videolardan oluşan bir koleksiyondur. Oynatma listeleri varsayılan olarak diğer kullanıcılara herkese açık şekilde gösterilir ancak oynatma listeleri herkese açık veya gizli olabilir.

YouTube, bir kanaldaki özel video koleksiyonlarını belirlemek için de oynatma listelerini kullanır. Örneğin:

  • yüklenen videolar
  • olumlu olarak derecelendirilmiş (beğenilmiş) videolar
  • izleme geçmişi
  • daha sonra izle

Daha net bir ifadeyle, bu listeler bir kanalla ilişkilendirilir. Kanal, bir kişinin, grubun veya şirketin videolarının, oynatma listelerinin ve diğer YouTube bilgilerinin bir koleksiyonudur. Bu listelerin her birinin oynatma listesi kimliklerini, belirli bir kanalın channel resource bölümünden alabilirsiniz.

Ardından, bu listelerin herhangi birini almak için playlistItems.list yöntemini kullanabilirsiniz. Ayrıca, playlistItems.insert ve playlistItems.delete yöntemlerini çağırarak bu listelere öğe ekleyebilir veya listeden öğe kaldırabilirsiniz.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
delete DELETE /playlists Oynatma listesini siler.
list GET /playlists API isteği parametreleriyle eşleşen oynatma listelerinin koleksiyonunu döndürür. Örneğin, kimliği doğrulanmış kullanıcının sahip olduğu tüm oynatma listelerini veya benzersiz kimliklerine göre bir ya da daha fazla oynatma listesini alabilirsiniz.
insert POST /playlists Oynatma listesi oluşturur.
update PUT /playlists Oynatma listesini değiştirir. Örneğin, oynatma listesinin başlığını, açıklamasını veya gizlilik durumunu değiştirebilirsiniz.

Arama sonucu, bir API isteğinde belirtilen arama parametreleriyle eşleşen bir YouTube videosu, kanalı veya oynatma listesi hakkında bilgi içerir. Arama sonucu, video gibi benzersiz şekilde tanımlanabilir bir kaynağa işaret etse de kendi kalıcı verileri yoktur.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /search API isteğinde belirtilen sorgu parametreleriyle eşleşen bir arama sonuçları koleksiyonu döndürür. Varsayılan olarak, bir arama sonucu kümesi eşleşen video, channel ve playlist kaynaklarını tanımlar ancak sorguları yalnızca belirli bir kaynak türünü alacak şekilde de yapılandırabilirsiniz.

Abonelikler

subscription kaynağı, YouTube kullanıcı aboneliğiyle ilgili bilgiler içerir. Abonelik, bir kanala yeni videolar eklendiğinde veya başka bir kullanıcı YouTube'da video yükleme, videoyu değerlendirme ya da videoya yorum yapma gibi işlemlerden birini gerçekleştirdiğinde kullanıcıya bildirim gönderir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
delete DELETE /subscriptions Aboneliği siler.
insert POST /subscriptions Kimliği doğrulanmış kullanıcının kanalına abonelik ekler.
list GET /subscriptions API isteği ölçütleriyle eşleşen abonelik kaynaklarını döndürür.

Küçük resimler

thumbnail kaynağı, bir kaynakla ilişkili farklı küçük resim boyutlarını tanımlar. Küçük resimlerin aşağıdaki özellikleri:

  • Bir kaynağın snippet.thumbnails özelliği, söz konusu kaynak için kullanılabilen küçük resimleri tanımlayan bir nesnedir.
  • thumbnail kaynağı bir dizi nesne içerir. Her nesnenin adı (default, medium, high vb.) küçük resim boyutunu ifade eder.
  • Farklı kaynak türleri, farklı küçük resim boyutlarını destekleyebilir.
  • Farklı kaynak türleri, aynı ada sahip küçük resimler için farklı boyutlar tanımlayabilir. Örneğin, video kaynağının default küçük resim boyutu genellikle 120 piksel x 90 piksel, channel kaynağının default küçük resim boyutu ise genellikle 88 piksel x 88 pikseldir.
  • Aynı türdeki kaynaklar, YouTube'a yüklenen orijinal resmin veya içeriğin çözünürlüğüne bağlı olarak belirli resimler için farklı küçük resim boyutlarına sahip olabilir. Örneğin, HD videolar, HD olmayan videolara kıyasla daha yüksek çözünürlüklü küçük resimleri destekleyebilir.
  • Küçük resim boyutuyla ilgili bilgileri içeren her nesnenin width ve height özelliği vardır. Ancak genişlik ve yükseklik özellikleri bu resim için döndürülmeyebilir.
  • Yüklenen küçük resim, gerekli boyutlara uymuyorsa en boy oranı değiştirilmeden doğru boyuta göre yeniden boyutlandırılır. Resim kırpılmamıştır ancak boyutun doğru olması için siyah çubuklar içerebilir.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
set POST /thumbnails/set YouTube'a özel bir video küçük resmi yükler ve bunu bir video için ayarlar.

VideoAbuseReportReasons

videoAbuseReportReason kaynağı, bir videonun kötüye kullanım amaçlı içerik barındırdığı için işaretlenmesinin nedenine ilişkin bilgiler içerir. Uygulamanız, kötüye kullanım içeren bir videoyu bildirmek için videos.reportAbuse yöntemini çağırdığında istek, videonun bildirilme nedenini belirlemek için videoAbuseReportReason kaynağındaki bilgileri kullanır.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /videoAbuseReportReasons Kötüye kullanım içeren videoları bildirmek için kullanılabilecek nedenlerin listesini alın.

VideoCategories

videoCategory kaynağı, yüklenen videolarla ilişkilendirilmiş veya ilişkilendirilebilecek bir kategoriyi tanımlar.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
list GET /videoCategories YouTube videolarıyla ilişkilendirilebilecek kategorilerin listesini döndürür.

Videolar

video kaynağı, bir YouTube videosunu temsil eder.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
insert POST /videos YouTube'a video yükler ve isteğe bağlı olarak videonun meta verilerini ayarlar.
list GET /videos API isteği parametreleriyle eşleşen videoların listesini döndürür.
delete DELETE /videos YouTube videosunu siler.
update PUT /videos Bir videonun meta verilerini günceller.
rate POST /videos/rate Videolara beğenme veya beğenmeme puanı ekleme ya da puanları kaldırma
getRating GET /videos/getRating Yetkili kullanıcının belirtilen bir video listesine verdiği puanları alır.
reportAbuse POST /videos/reportAbuse Kötüye kullanım barındıran içerik nedeniyle bir videoyu bildirme

Filigranlar

watermark kaynağı, belirli bir kanalın videolarının oynatılması sırasında gösterilen resmi tanımlar. Ayrıca, resmin bağlanacağı hedef kanalı ve filigranın video oynatma sırasında ne zaman görüneceğini ve ne kadar süreyle görünür kalacağını belirleyen zamanlama ayrıntılarını da belirtebilirsiniz.

Bu kaynak hakkında daha fazla bilgi için kaynak gösterimi ve özellikler listesine bakın.

Yöntem HTTP isteği Açıklama
https://www.googleapis.com/youtube/v3 ile ilgili URI'ler
set POST /watermarks/set YouTube'a filigran resmi yükler ve bunu bir kanal için ayarlar.
unset POST /watermarks/unset Kanalın filigran resmini siler.