Bu sayfada, YouTube Data API'ye yapılan örnek istekler gösterilmektedir. Videolar, kanallar ve oynatma listeleri gibi YouTube kaynaklarını almak ve değiştirmek için YouTube Data API'yi kullanırsınız. Her örnek, Google API Gezgini'ne bağlantı verir ve onu doldurur. Böylece örneği yürütüp yanıtı görebilirsiniz.
YouTube Data API'yi kullanarak içerik yükleme hakkında bilgi edinmek için Devam ettirilebilir yüklemeler konusuna bakın.
Genel Bakış
Daha anlaşılır olması için bu sayfadaki örnekler, her bir isteğin ayırt edici öğelerini gösterir ve Data API isteklerini (https://www.googleapis.com/youtube/v3
) işleyen ana makine için temel URL'yi kısaltır. Örneklerin bağlamı dışında bir istekte bulunmak için tam URL'yi eklemeniz gerekir.
Örneğin, şu sayfada göründüğü şekliyle bir örnek isteği aşağıda görebilirsiniz:
GET {base-URL}/channels?part=contentDetails &mine=true
Bu isteğin tam URL'si:
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails &mine=true
Taleplerin bazıları, abone listesi gibi yalnızca YouTube kanalının sahibinin erişebildiği verileri getirmektedir. Bu istekler için kanal sahibinin, Google API Gezgini'ne kendi adına YouTube Data API istekleri gerçekleştirme hakkı vermesi gerekir. (Gizli kanal verilerine erişim yetkisi verme hakkında ayrıntılı bilgi için OAuth 2.0 Kimlik Doğrulamasını Uygulama bölümüne bakın.) API Gezgini'ne bağlantı oluşturduktan sonra İstekleri OAuth 2.0 kullanarak yetkilendir düğmesini tıklayın. Bu adım, API Gezgini'ne sahip adına istek yapma yetkisi verir. Ayrıca, API Gezgini'nin gerçekleştirebileceği istek türlerini belirten yetkilendirme kapsamını da seçersiniz.
Her isteğe verilen yanıt, bir YouTube kaynağının JSON temsilidir. İstekteki part
parametresi, kaynağın hangi bölümlerinin yanıta dahil edileceğini belirtir. Parametre, yanıta dahil edilmesi gereken bir veya daha fazla üst düzey (iç içe yerleştirilmemiş) kaynak özelliğini tanımlar. Örneğin, video kaynağının bazı bölümleri şunlardır:
- snippet
- contentDetails
- oynatıcı
- istatistikler
- durum
Bu parçaların hepsi, iç içe yerleştirilmiş özellikler içeren nesnelerdir. Bu nesneleri, API sunucusunun alabileceği (veya almayabileceği) meta veri alanı grupları olarak düşünebilirsiniz. Bu nedenle, part
parametresi için uygulamanızın gerçekten kullandığı kaynak bileşenlerini seçmeniz gerekir.Daha fazla bilgi için YouTube Data API'yi Kullanmaya Başlama bölümüne bakın.
Kanal bilgilerini alma
Bu istek, kimliği doğrulanmış kullanıcıya ait kanallarla ilgili ayrıntıları almak için channels.list
yöntemini kullanır.
GET {base_URL}/channels?part=contentDetails &mine=true
Bu isteğe verilen yanıt, kimliği doğrulanmış kullanıcının kanalı için kanal kimliğini ve contentDetails
bilgilerini içerir. contentDetails
, kanalla ilişkilendirilmiş, sistem tarafından oluşturulmuş çeşitli oynatma listelerini içerir. Sonraki isteklerin çoğunda kanal kimliği veya oynatma listesi kimliklerinden biri istenir. Dolayısıyla bunların kaydedilmesi önemlidir.
{ "id": {CHANNEL_ID}, "kind": "youtube#channel", "etag": etag, "contentDetails": { "relatedPlaylists": { "likes": {LIKES_PLAYLIST_ID}, "favorites": {FAVORITES_PLAYLIST_ID}, "uploads": {UPLOADS_PLAYLIST_ID}, "watchHistory": {WATCHHISTORY_PLAYLIST_ID}, "watchLater": {WATCHLATER_PLAYLIST_ID} }, "googlePlusUserId": string }, }
Yüklenen videolar ve sistem tarafından oluşturulan oynatma listeleri
YouTube, yüklenen tüm videoları kanalla ilişkili bir oynatma listesine ekler. Yüklenen videoların listesini almak için "yüklemeler"i sorgularsınız kanal bilgileri için yukarıda gösterilen yanıtta döndürülen oynatma listesi ve bu oynatma listesindeki videoları almak üzere playlistItems.list
yöntemi kullanılır.
Aşağıdaki örnek isteği Google API Gezgini'nde yürütmeden önce {UPLOADS_PLAYLIST_ID} değerini önceki istekteki oynatma listesi kimliğiyle değiştirin.
GET {base_URL}/playlistItems?part=contentDetails &playlistId={UPLOADS_PLAYLIST_ID}
Döndürülen her öğe için "id"
değerinin, playlistItem kimliği olduğunu unutmayın. Oynatma listesi öğesinin video kimliği, contentDetails
bölümündeki videoId
öğesidir.
Kanal bilgileri yanıtındaki ilgili oynatma listesi kimliğini değiştirerek yukarıdaki isteği kullanarak bir kullanıcının favorilerini, beğenilerini, izleme geçmişini veya daha sonra izleme listelerini alabilirsiniz.
Kullanıcıların oluşturduğu oynatma listeleri
Bu istek, kimliği doğrulanmış kanalla ilişkili oynatma listelerini almak için playlists.list
yöntemini kullanır. Bu isteğin, kanal bilgilerinde yer alan, sistem tarafından oluşturulan oynatma listelerini (yüklemeler, WatchHistory vb.) almadığını unutmayın. Yalnızca kullanıcı tarafından oluşturulan oynatma listelerini getirir.
GET {base_URL}/playlists?part=snippet &mine=true
Bir oynatma listesi kimliği oluşturduktan sonra, önceki bölümde gösterilen isteği kullanarak oynatma listesindeki öğeleri alabilirsiniz.
Kimlik doğrulama olmadan bir kanalın herkese açık oynatma listeleri hakkında bilgi isteyebilirsiniz. Kimliği doğrulanmamış bir istek gönderdiğinizde, isteği yapan uygulamaya ilişkin benzersiz API anahtarını belirten key
bağımsız değişkenini eklemeniz gerekir. Örneğin, bu istek GoogleDevelopers kanalıyla ilişkili oynatma listelerini getirir.
GET {base_URL}/playlists?part=snippet &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw &key={YOUR_API_KEY}
Abonelikleri Al
subscription
kaynağı, YouTube kullanıcısı (abone) ile kanal arasındaki ilişkiyi tanımlar. subscriptions.list
yöntemi, isteğe hangi parametreleri dahil ettiğinize bağlı olarak belirli bir kanalın abonelerini veya belirli bir kullanıcının aboneliklerini getirir.
Kanal aboneleri
Bu istek, kimliği doğrulanmış kanalın abonelerinin bir listesini getirir.
GET {base_URL}/subscriptions?part=snippet &mySubscribers=true
Kullanıcı abonelikleri
Aboneleri listeleyen aynı yöntem (subscriptions.list
) bir kullanıcının abone olduğu kanalları listelemek için kullanılabilir. Bu istek, kimliği doğrulanmış kullanıcının abone olduğu YouTube kanallarının listesini almak için mine
parametresini kullanır.
GET {base_URL}/subscriptions?part=snippet &mine=true
Kullanıcı etkinliğini alma
activity
kaynakları, belirli bir kanalın veya kullanıcının YouTube'da gerçekleştirdiği video yükleme, kanala abone olma gibi işlemler hakkında bilgi içerir. activities.list
yöntemi, istek ölçütleriyle eşleşen kanal veya kullanıcıyla ilişkilendirilmiş işlemleri alır. Örneğin, belirli bir kanalla, kullanıcının abonelikleriyle veya kullanıcının özel YouTube ana sayfasıyla ilişkili işlemleri alabilirsiniz.
Belirli bir dönemdeki etkinlik
Bu istek, kimliği doğrulanmış kullanıcının Nisan 2013'te gerçekleştirdiği tüm işlemleri getirir.
GET {base_URL}/activities?part=snippet,contentDetails &mine=true &publishedAfter=2013-04-01T00%3A00%3A00Z &publishedBefore=2013-05-01T00%3A00%3A00Z
Ana sayfa etkinliği
Bu istek, kimliği doğrulanan kullanıcının YouTube ana sayfasında görüntülenen özel etkinlik feed'ini getirir.
GET {base_URL}/activities?part=snippet,contentDetails &home=true
YouTube videoları ve kanallarıyla ilgili izleme istatistiklerini, popülerlik metriklerini ve demografik bilgileri almak için YouTube Analytics API'yi kullanabilirsiniz. Örnek API İstekleri sayfası, YouTube Analytics'ten sık kullanılan raporları nasıl alabileceğinizi gösterir.
Arama
search.list
yöntemi, belirtilen ölçütlerle eşleşen YouTube videolarını, kanallarını veya oynatma listelerini aramanızı sağlar. Video özelliklerine, anahtar kelimelere veya konulara (ya da bunların bir kombinasyonuna) göre arama yapabilir ve sonuçları oluşturma tarihi, görüntüleme sayısı veya derecelendirme gibi faktörlere göre sıralayabilirsiniz.
Diğer YouTube Data API istekleri gibi search.list
yöntemi de bir YouTube kaynağının JSON gösterimini döndürür. Bununla birlikte, diğer YouTube kaynaklarından farklı olarak arama sonucu, benzersiz bir kimliğe sahip kalıcı nesne değildir.
Birçok istek herkese açık içerikleri arar ve bu nedenle kimlik doğrulaması gerektirmez. Aşağıdaki örnekler arasından yalnızca ilki kimlik doğrulama gerektirir çünkü özellikle "my" videolar. Kimliği doğrulanmamış bir istek gönderdiğinizde, uygulamanız için benzersiz API anahtarını belirten key
bağımsız değişkenini eklemeniz gerekir.
En çok görüntülenen videolarım
Bu istek, kimliği doğrulanmış kullanıcının tüm videolarını getirir ve bunları, görüntüleme sayısına göre azalan düzende listeler.
GET {base_URL}/search?part=snippet &forMine=true &order=viewCount &type=video
Yerleştirilebilir yüksek çözünürlüklü videolar
Bu istek, belirli özelliklere sahip videolar, yani diğer sitelere yerleştirilebilecek yüksek tanımlı videoları arar. Sonuçları azalan düzende listeler.
GET {base_URL}/search?part=snippet &order=rating &type=video &videoDefinition=high &videoEmbeddable=true &key={YOUR_API_KEY}
Belirli bir konuyla ilgili videolar
Bu istek, YouTube Data API ile ilgili altyazı içeren videolar için bir anahtar kelime araması gerçekleştirir.
GET {base_URL}/search?part=snippet &q=YouTube+Data+API &type=video &videoCaption=closedCaption &key={YOUR_API_KEY}
Konuya dayalı arama
Belirli bir konuyla ilgili videoları aramak için daha gelişmiş bir yöntem olarak anahtar kelimeler yerine Freebase topics kullanılır. YouTube kanalı ve video kaynaklarının tümü, kaynakla ilişkili Freebase konu kimliklerinin listesini içeren bir topicDetails nesnesi içerir. Freebase konusu, gerçek dünyaya ait bir kavram veya şeyin tüm yönlerini temsil ettiğinden, konuya dayalı arama anahtar kelime aramasına göre daha akıllıdır.
Freebase konusu kullanarak arama yapmak için önce Freebase API'yi kullanarak konu kimliğini almanız gerekir. Bu istek, Python için Freebase konusuyla ilişkili ve konu kimliği /m/05z1_
olan videoları döndürür.
GET {base_URL}/search?part=snippet &topicId=/m/05z1_ &type=video &key={YOUR_API_KEY}
Oynatma listesi veya kanal arama
Arama, videolarla sınırlı değildir. Oynatma listelerini veya kanalları da arayabilirsiniz. Bu istek, "futbol" anahtar kelimesiyle eşleşen oynatma listelerini getirir.
GET {base_URL}/search?part=snippet &q=soccer &type=playlist &key={YOUR_API_KEY}
Futbol kanallarını bulmayı tercih ederseniz type
parametresini değiştirmeniz yeterlidir.
GET {base_URL}/search?part=snippet &q=soccer &type=channel &key={YOUR_API_KEY}
Futbolla ilgili tüm içerikleri (kanallar, oynatma listeleri ve videolar) istiyorsanız evrensel bir arama yapabilirsiniz. type
parametresini çıkarırsanız istek tüm türlerdeki içeriği alır
GET {base_URL}/search?part=snippet &q=soccer &key={YOUR_API_KEY}
Kaynakları oluşturma ve güncelleme
Şu ana kadar incelediğimiz isteklerin tümü, YouTube verilerini almak için HTTP GET yöntemini kullanmaktadır. YouTube Data API; videolar, oynatma listeleri veya kanallar gibi YouTube kaynaklarını oluşturmak ya da güncellemek için HTTP POST'u kullanan yöntemler de sunar. Aşağıdaki isteklerde örnekler verilmiştir.
POST yöntemleri arasında, oluşturulan veya güncellenen kaynağın JSON gösterimi olan Request body
bulunur. Etkileşimli bir araç kullanarak Google API Gezgini'nde JSON gösterimleri oluşturabilirsiniz.
Abonelik oluşturma
Bu istek, kimliği doğrulanmış kullanıcıyı GoogleDevelopers kanalına abone yapar. Diğer bir deyişle, bir abonelik kaynağı oluşturur.
POST {base_URL}/subscriptions?part=snippet
Request body: { 'snippet': { 'resourceId': { 'kind': 'youtube#channel', 'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw' } } }
Oynatma listesi oluşturma
Bu istek yeni bir herkese açık oynatma listesi oluşturur.
POST {base_URL}/playlists?part=snippet
Request body: { 'snippet': { 'title': 'New playlist', 'description': 'Sample playlist for Data API', } }
Oynatma listesine video ekleme
Oynatma listesi oluşturduğumuza göre şimdi buna video ekleyelim. Bu istek, oynatma listesinin başına bir video ekler ('position': 0
).
POST {base_URL}/playlistItems?part=snippet Request body: { 'snippet': { 'playlistId': '{PLAYLIST_ID}', 'resourceId': { 'kind': 'youtube#video', 'videoId': '{VIDEO_ID}' } 'position': 0 } }