Aşağıdaki örneklerde, videolarla ilgili işlevleri gerçekleştirmek için YouTube Data API'nin (v3) nasıl kullanılacağı gösterilmektedir.
Bir kanalın yüklenen videolarını alma
Bu örnek, belirli bir kanala yüklenen videoları alır. Örnek iki adımdan oluşur:
-
1. adım: Kanalın yüklenen videolarının oynatma listesi kimliğini alın
Kanalın yüklenen videolarını içeren oynatma listesinin kimliğini almak için
channels.list
yöntemini çağırın. İsteğinpart
parametre değeri,channel
kaynak bölümlerinden biri olarakcontentDetails
değerini içermelidir. API yanıtında,contentDetails.relatedPlaylists.uploads
özelliği oynatma listesi kimliğini içerir.Kanalı tanımlamanın birkaç yolu vardır:
-
Şu anda kimliği doğrulanmış kullanıcının YouTube kanalıyla ilgili bilgileri almak için
mine
parametre değerinitrue
olarak ayarlayın. İsteğiniz OAuth 2.0 kullanılarak yetkilendirilmelidir.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
forUsername
parametresini bir YouTube kullanıcı adına ayarlayarak bu kullanıcı adıyla ilişkili kanalın bilgilerini alın. Bu örnekte, Google'ın resmi YouTube kanalına ait bilgileri almak içinforUsername
parametre değeriGoogle
olarak ayarlanır.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
id
parametresini, bilgi aldığınız kanalı benzersiz şekilde tanımlayan YouTube kanal kimliğine ayarlayın. Bu örnekte,id
parametresiUCK8sQmJBp8GCxrOtXWBpyEA
olarak ayarlanır. Bu değer, Google'ın resmi YouTube kanalını da tanımlar.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
-
-
2. adım: Yüklenen videoların listesini alın
Yüklenen videoların listesini almak için
playlistItems.list
yöntemini çağırın.playlistId
parametresinin değerini 1. adımda elde edilen değer olarak ayarlayın. Bu örnekte, parametre değeriUUK8sQmJBp8GCxrOtXWBpyEA
olarak ayarlanmıştır. Bu değer, Google'ın resmi YouTube kanalına yüklenen videoların listesidir.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
En popüler videoları alma
Bu örnekte, genel popülerliği belirlemek için birçok farklı sinyali birleştiren bir algoritma kullanılarak seçilen, YouTube'un en popüler videolarının listesinin nasıl alınacağı gösterilmektedir.
En popüler videolar listesini almak için videos.list
yöntemini çağırın ve chart
parametresinin değerini mostPopular
olarak ayarlayın.
mostPopular
listesinde trend olan müzik, film ve oyun videoları yer alır.
Ardından, isteğe bağlı olarak aşağıdaki parametreleri ayarlayabilirsiniz:
regionCode
: API'ye belirtilen bölgeyle ilgili videoların listesini döndürmesini bildirir. Parametre değeri, ISO 3166-1 alfa-2 ülke kodudur. YouTube'un desteklediği bölge kodlarının listesini almak içini18nRegions.list
yöntemini kullanabilirsiniz.videoCategoryId
: En popüler videoların alınması gereken video kategorisini tanımlar. YouTube'un desteklediği kategori kimliklerinin listesini almak içinvideoCategories.list
yöntemini kullanabilirsiniz.
Örneğin, aşağıdaki istek İspanya'daki en popüler spor videolarını alır:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
Video yükleme
API Gezgini, dosya yükleme özelliğini desteklemediğinden bu açıklama, çalıştırılabilir bir örneğe bağlanmaz. Aşağıdaki kaynaklar, uygulamanızı v3 API'sini kullanarak video yükleyebilecek şekilde değiştirmenize yardımcı olacaktır:
-
API'nin videos.insert yönteminin dokümanlarında, farklı programlama dilleri kullanılarak videoların nasıl yükleneceğini açıklayan çeşitli kod örnekleri yer alır.
-
Devam ettirilebilir yüklemeler kılavuzunda, bir uygulamanın devam ettirilebilir yükleme işlemiyle video yüklemek için kullandığı HTTP isteklerinin sırası açıklanmaktadır. Bu kılavuz, öncelikle Google API istemci kitaplıklarını kullanamayan geliştiriciler için hazırlanmıştır. Bu kitaplıkların bazıları, devam ettirilebilir yüklemeler için yerel destek sağlar.
-
Video yükleme ile ilgili JavaScript örneğinde, bir web sayfası üzerinden video dosyası yüklemenin nasıl yapılacağını göstermek için CORS (merkezler arası kaynak paylaşımı) kullanılır. v3 API'nin kullandığı CORS yükleme kitaplığı, doğal olarak devam ettirilebilir yüklemeyi destekler. Ayrıca örnekte,
processingDetails
kaynağınınvideo
bölümü alınarak yüklenen bir videonun durumunun nasıl kontrol edileceği ve yüklenen videonun durum değişikliklerinin nasıl ele alınacağı gösterilmektedir.
Yüklenen bir videonun durumunu kontrol etme
Bu örnekte, yüklenen bir videonun durumunun nasıl kontrol edileceği gösterilmektedir. Yüklenen videolar, kimliği doğrulanmış kullanıcının yüklenen videolar akışında hemen görünür. Ancak video işlenene kadar YouTube'da görünmez.
-
1. adım: Videoyu yükleyin
Videoyu yüklemek için
videos.insert
yöntemini çağırın. İstek başarılı olursa API yanıtı, yüklenen videonun benzersiz video kimliğini tanımlayan birvideo
kaynağı içerir. -
2. adım: Videonun durumunu kontrol edin
Videonun durumunu kontrol etmek için
videos.list
yöntemini çağırın.id
parametresinin değerini 1. adımda elde edilen video kimliği olarak ayarlayın.part
parametresinin değeriniprocessingDetails
olarak ayarlayın.İstek başarılı bir şekilde işlenirse API yanıtı bir
video
kaynağı içerir. YouTube'un videoyu işlemeye devam edip etmediğini belirlemek içinprocessingDetails.processingStatus
özelliğinin değerini kontrol edin. YouTube videoyu işlemeyi tamamladığında mülkün değeriprocessing
dışında bir değere (ör.succeeded
veyafailed
) dönüşür.İstek gövdesi, silmekte olduğunuz videonun video kimliğini belirten
id
özelliğinin bulunduğu birvideo
kaynağıdır. Bu örnekte kaynak,recordingDetails
nesnesi de içerir.Aşağıdaki istek, bir videonun durumunu kontrol eder. API Gezgini'nde isteği tamamlamak için
id
özelliğinin değerini ayarlamanız gerekir.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet,processingDetails &id=VIDEO_ID
Not: Uygulamanız, yeni yüklenen bir videonun durumunu düzenli olarak kontrol etmek için API'ye yoklama isteği gönderebilir. Video işlendikten sonra uygulamanız, videonun durumuna bağlı olarak bir bülten oluşturabilir veya başka bir işlem yapabilir.
Videoları güncelleme
Bu örnekte, videonun çekildiği zaman ve yerle ilgili bilgileri eklemek için videonun nasıl güncelleneceği gösterilmektedir. Örnekte aşağıdaki adımlar yer almaktadır:
-
1. adım: Video kimliğini alın
Şu anda kimliği doğrulanmış kullanıcının kanalına yüklenen videoları almak için yukarıdaki adımları uygulayın. Liste, her videonun kimliğini anahtar olarak kullanarak video listesi görüntülemek için kullanılabilir.
Not: Arama sonuçlarını alma veya bir oynatma listesindeki öğeleri listeleme gibi video kimliklerini edinmenin başka birçok yolu vardır. Ancak bir video yalnızca sahibi tarafından güncellenebildiğinden, API isteğini yetkilendiren kullanıcının sahip olduğu videoların listesini almak bu sürecin olası ilk adımıdır.
-
2. adım: Videoyu güncelleyin
Belirli bir videoyu güncellemek için
videos.update
yöntemini çağırın.part
parametresinin değerinirecordingDetails
olarak ayarlayın. (Parametre değeri, hangi videonun meta veri alanlarının güncellendiğine bağlıdır.)İstek gövdesi,
video
kaynağıdır. Bu kaynaktaid
özelliği, güncellemekte olduğunuz videonun video kimliğini belirtir. Bu örnekte kaynak,recordingDetails
nesnesi de içerir.Aşağıdaki örnek kaynak, videonun 30 Ekim 2013'te Boston'da kaydedildiğini gösteriyor:
{ "id": "VIDEO_ID", "recordingDetails": { "location": { "latitude": "42.3464", "longitude": "-71.0975" } "recordingDate": "2013-10-30T23:15:00.000Z" } }
API Gezgini'nde isteği tamamlamak için
id
özelliğinin değerini ayarlamanız gerekir.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
Özel küçük resim yükleme ve videolarda kullanma
Özel küçük resim yüklemek ve bunu bir videoda ayarlamak için v3 API'nin thumbnails.set
yöntemini kullanabilirsiniz. İsteğinizde, videoId
parametresinin değeri, küçük resmin kullanılacağı videoyu tanımlar.
API Gezgini, bu yöntem için gerekli olan medya dosyalarını yükleme özelliğini desteklemediğinden bu sorgu API Gezgini kullanılarak test edilemez.
Video silme
Bu örnekte bir videonun nasıl silineceği gösterilmektedir. Örnekte aşağıdaki adımlar yer almaktadır:
-
1. adım: Video kimliğini alın
Şu anda kimliği doğrulanmış kullanıcının kanalına yüklenen videoları almak için yukarıdaki adımları uygulayın. Liste, her videonun kimliğini anahtar olarak kullanarak video listesi görüntülemek için kullanılabilir.
Not: Arama sonuçlarını alma veya bir oynatma listesindeki öğeleri listeleme gibi video kimliklerini edinmenin başka birçok yolu vardır. Ancak bir video yalnızca sahibi tarafından silinebileceğinden, API isteğini yetkilendiren kullanıcının sahip olduğu videoların listesini almak bu sürecin olası ilk adımıdır.
-
2. adım: Videoyu silin
Belirli bir videoyu silmek için
videos.delete
yöntemini çağırın. Talebinde,id
parametresi, silmekte olduğunuz videonun video kimliğini belirtir. İstek, OAuth 2.0 kullanılarak yetkilendirilmelidir. Bu sorguyu API Gezgini'nde test ediyorsanızid
parametre değeri yerine geçerli bir video kimliği kullanmanız gerekir.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete? id=VIDEO_ID
Kötüye kullanım amaçlı videoları bildirme
Bu örnekte, kötüye kullanım amaçlı içerik barındıran bir videonun nasıl bildirileceği gösterilmektedir. Örnekte aşağıdaki adımlar yer almaktadır:
-
1. adım: Videonun neden bildirildiğini açıklayan kimlikleri alın
Bir videoyu işaretlemek için geçerli nedenlerin listesini almak üzere
videoAbuseReportReasons.list
yöntemine yetkili bir istek gönderin. Aşağıdaki örnekvideoAbuseReportReason
kaynağında, spam veya yanıltıcı içerik barındıran bir videoyu işaretleme ile ilgili bilgiler yer almaktadır.{ "kind": "youtube#videoAbuseReportReason", "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"", "id": "S", "snippet": { "label": "Spam or misleading", "secondaryReasons": [ { "id": "27", "label": "Spam or mass advertising" }, { "id": "28", "label": "Misleading thumbnail" }, { "id": "29", "label": "Malware or phishing" }, { "id": "30", "label": "Pharmaceutical drugs for sale" }, { "id": "31", "label": "Other misleading info" } ] } }
Kaynakta gösterildiği gibi, bu neden bir dizi ikincil nedenle ilişkilidir. Spam içerdiği için bir videoyu işaretlerken nedenin kimliğini belirtmeniz gerekir. Ayrıca ikincil bir neden de belirtmeniz önemle tavsiye edilir.
-
2. adım: Videoyu kötüye kullanım amaçlı içerik nedeniyle işaretleyin
Videoyu gerçekten bildirmek için
JSON nesnesininvideos.reportAbuse
yöntemine yetkili bir istek gönderin. İstek gövdesi, hem işaretlenen videoyu hem de işaretlenme nedenini tanımlayan bir JSON nesnesidir. 1. adımda belirtildiği gibi, bazı neden türleri için ikincil bir neden desteklenir ve şiddetle tavsiye edilir.videoId
özelliği, işaretlenen videoyu tanımlar.Aşağıdaki örnek JSON nesnesi, bir videoyu spam veya yanıltıcı içerik barındırdığı ve daha spesifik olarak yanıltıcı bir küçük resim kullandığı için işaretler. Yukarıdaki örnek JSON nesnesinde gösterildiği gibi, spam veya yanıltıcı içeriklerin kimliği S'dir. Yanıltıcı küçük resim ile ilgili ihlalin kimliği 28'dir.
{ "videoId": "VIDEO_ID", "reasonId": "S", "secondaryReasonId": "28", "comments": "Testing the video flagging feature.", "language": "en" }
videos.reportAbuse
isteği, OAuth 2.0 kullanılarak yetkilendirilmelidir. Aşağıdaki bağlantı, yukarıdaki JSON nesnesini API Gezgini'ne yükler. Sorguyu test etmek içinvideoId
özellik değerinin yerine geçerli bir video kimliği girmeniz gerekir. Bu isteği gönderdiğinizde videonun işaretleneceğini lütfen unutmayın.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse