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
Kanala yüklenen videoları içeren oynatma listesinin kimliğini almak için
channels.listyöntemini çağırın. İsteğinpartparametre değeri,channelolarak alınancontentDetailskaynak bölümlerinden birini 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
mineparametre değerinitrueolarak 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
-
forUsernameparametresini 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ıyla ilgili bilgileri almak içinforUsernameparametre değeriGoogleolarak ayarlanır.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
idparametresini, bilgi aldığınız kanalı benzersiz şekilde tanımlayan YouTube kanal kimliğine ayarlayın. Bu örnekte,idparametresiUCK8sQmJBp8GCxrOtXWBpyEAolarak 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.listyöntemini çağırın.playlistIdparametresinin değerini 1. adımda elde edilen değer olarak ayarlayın. Bu örnekte, parametre değeriUUK8sQmJBp8GCxrOtXWBpyEAolarak ayarlanmıştır. Bu, 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.listyö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.listyö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
Toplu video istatistiklerini alma
Bu örnekte, videos.batchGetStats yöntemi kullanılarak bir video listesinin istatistikleri alınır.
Bu yöntemi kullanmak için isteğin id parametresini, istatistiklerini almak istediğiniz YouTube video kimliklerinin virgülle ayrılmış listesine ayarlayın. part parametresinin değerini, yanıtın içermesini istediğiniz videoStat kaynak bölümlerinin virgülle ayrılmış bir listesi olarak ayarlayın. Desteklenen bölümler snippet, statistics, contentDetails ve id'dir.
Bu yöntemin herkese açık olmayan videolarda kullanılması için kimlik doğrulama gerekir ancak herkese açık videolarda gerekmez. İstek, herkese açık olmayan videolarla ilgili verileri alıyorsa uygun şekilde yetkilendirilmelidir.
Aşağıdaki istek, VIDEO_ID_1 ve VIDEO_ID_2 video kimlikleriyle ilgili istatistikleri alır:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.batchGetStats? part=snippet,statistics &id=VIDEO_ID_1,VIDEO_ID_2
Video yükleme
API Gezgini, dosya yükleme özelliğini desteklemediğinden bu açıklamada çalıştırılabilir bir örneğe bağlantı verilmemiştir. Aşağıdaki kaynaklar, uygulamanızı v3 API'yi kullanarak video yükleyebilecek şekilde değiştirmenize yardımcı olacaktır:
-
API'nin videos.insert yöntemiyle ilgili dokümanlarda, farklı programlama dilleri kullanılarak video yükleme yöntemini 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ının nasıl yükleneceğini göstermek için CORS (merkezler arası kaynak paylaşımı) kullanılır. v3 API'nin kullandığı CORS yükleme kitaplığı, devam ettirilebilir yüklemeyi doğal olarak destekler. Ayrıca örnekte,
processingDetailskaynağınınvideobö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
videos.insertyöntemini çağırarak videoyu yükleyin. İstek başarılı olursa API yanıtı, yüklenen videonun benzersiz video kimliğini tanımlayan birvideokaynağı içerir. -
2. adım: Videonun durumunu kontrol edin
Videonun durumunu kontrol etmek için
videos.listyöntemini çağırın.idparametresinin değerini 1. adımda elde edilen video kimliği olarak ayarlayın.partparametresinin değeriniprocessingDetailsolarak ayarlayın.İstek başarıyla işlenirse API yanıtı bir
videokaynağı 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ğeriprocessingdışında bir değere (ör.succeededveyafailed) dönüşür.İstek gövdesi, silmekte olduğunuz videonun video kimliğini belirten
idözelliğinin bulunduğu birvideokaynağıdır. Bu örnekte kaynak,recordingDetailsnesnesi 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 listesini 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.updateyöntemini çağırın.partparametresinin değerinirecordingDetailsolarak ayarlayın. (Parametre değeri, hangi videonun meta veri alanlarının güncellendiğine bağlıdır.)İstek gövdesi,
videokaynağıdır. Bu kaynaktaidözelliği, güncellediğiniz videonun video kimliğini belirtir. Bu örnekte kaynak,recordingDetailsnesnesi 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 bir küçük resim yükleme ve bunu bir videoda ayarlama
Özel bir 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, medya dosyalarının yüklenmesini desteklemediği için bu sorgu API Gezgini kullanılarak test edilemez. Bu yöntem için medya dosyalarının yüklenmesi gerekir.
Video silme
Bu örnekte, videoların 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 listesini 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.deleteyöntemini çağırın. İstekle birlikte gönderilenidparametresi, silmekte olduğunuz videonun video kimliğini belirtir. İstek, OAuth 2.0 kullanılarak yetkilendirilmelidir. Bu sorguyu API Gezgini'nde test ediyorsanızidparametre 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.listyöntemine yetkili bir istek gönderin. Aşağıdaki örnekvideoAbuseReportReasonkaynağı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 ikincil nedenler listesiyle 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.reportAbuseyö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 için kimlik 28'dir.
{ "videoId": "VIDEO_ID", "reasonId": "S", "secondaryReasonId": "28", "comments": "Testing the video flagging feature.", "language": "en" }videos.reportAbuseisteğ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