Uygulama: Videolar

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üklediği videoları alma

Bu örnekte, belirli bir kanala yüklenen videolar alınır. Örnekte iki adım vardır:

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. Bu listeyi alırken aşağıdaki parametrelerden birini veya ikisini birden de ayarlayabilirsiniz:

  • regionCode: API'ye, belirtilen bölgenin video listesini döndürmesini söyler.
  • videoCategoryId: En popüler videoların hangi video kategorisinden alınacağını tanımlar.

Aşağıdaki istek, İspanya'da en popüler spor videolarını alır:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17

Video yükle

API Gezgini, dosya yükleme özelliğini desteklemediğinden bu açıklama, yürütülebilir bir örneğe bağlantı vermez. 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öntemine ait dokümanlar, farklı programlama dilleri kullanılarak video yüklemeyi açıklayan çeşitli kod örnekleri içerir.

  • Devam ettirilebilir yüklemeler kılavuzunda, bir uygulamanın devam ettirilebilir yükleme işlemini kullanarak video yüklemek için kullandığı HTTP isteklerinin sırası açıklanmaktadır. Bu kılavuz, bazılarında devam ettirilebilir yüklemeler için yerel destek sunan Google API istemci kitaplıklarını kullanamayan geliştiriciler için hazırlanmıştır.

  • Video yükleme konulu 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, video kaynağının processingDetails bölümünü alarak 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ıları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 bir video 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ğine ayarlayın. part parametresinin değerini processingDetails olarak ayarlayın.

    İstek başarıyla işlenirse API yanıtı bir video kaynağı içerir. YouTube'un videoyu hâlâ işleyip işlemediğini belirlemek için processingDetails.processingStatus mülkünün değerini kontrol edin. YouTube videoyu işlemeyi tamamladığında mülkün değeri processing yerine succeeded veya failed gibi bir değerle değiştirilir.

    İstek gövdesi, id mülkünün sildiğiniz videonun video kimliğini belirttiği bir video kaynağıdır. Bu örnekte kaynak, bir recordingDetails nesnesi de içerir.

    Aşağıdaki istek, bir videonun durumunu kontrol eder. İsteği APIs Explorer'da tamamlamak için id mülkünün 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'yi sorgulayabilir. Video işlendikten sonra uygulamanız, videonun durumuna bağlı olarak bir bülten oluşturabilir veya başka bir işlem gerçekleştirebilir.

Videoyu güncelleme

Bu örnekte, videonun çekildiği zaman ve yer hakkında bilgi eklemek için videonun nasıl güncelleneceği gösterilmektedir. Örnekte aşağıdaki adımlar yer alır:

  • 1. adım: Video kimliğini alın

    Kimlik doğrulaması yapılmış kullanıcının kanalındaki yüklenen videoları almak için yukarıdaki adımları uygulayın. Bu liste, her videonun kimliği anahtar olarak kullanılarak videoların listesini görüntülemek için kullanılabilir.

    Not: Video kimliklerini elde etmenin arama sonuçlarını alma veya oynatma listesindeki öğeleri listeleme gibi başka birçok yolu vardır. Ancak bir video yalnızca sahibi tarafından güncellenebileceğinden, API isteğine yetki veren kullanıcıya ait videoların listesini almak bu sürecin ilk adımı olabilir.

  • 2. adım: Videoyu güncelleyin

    Belirli bir videoyu güncellemek için videos.update yöntemini çağırın. part parametresinin değerini recordingDetails olarak ayarlayın. (Parametre değeri, hangi videonun meta veri alanlarının güncellendiğine bağlıdır.)

    İstek gövdesi, id mülkünün güncellediğiniz videonun video kimliğini belirttiği bir video kaynağıdır. Bu örnekte kaynak, bir recordingDetails nesnesi de içerir.

    Aşağıdaki örnek kaynakta, videonun 30 Ekim 2013'te Boston'da çekildiği belirtilmektedir:

    {
      "id": "VIDEO_ID",
      "recordingDetails": {
        "location": {
          "latitude": "42.3464",
          "longitude": "-71.0975"
        }
        "recordingDate": "2013-10-30T23:15:00.000Z"
      }
    }

    İsteği APIs Explorer'da tamamlamak için id mülkünün 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 videoya ayarlama

Özel küçük resim yüklemek ve video için ayarlamak üzere 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 dosyası yükleme özelliğini desteklemediğinden bu sorgu API Gezgini kullanılarak test edilemez.

İlgili kod örnekleri: PHP, Python

Video silme

Bu örnekte bir videonun nasıl silineceği gösterilmektedir. Örnekte aşağıdaki adımlar yer alır:

  • 1. adım: Video kimliğini alın

    Kimlik doğrulaması yapılmış kullanıcının kanalındaki yüklenen videoları almak için yukarıdaki adımları uygulayın. Bu liste, her videonun kimliği anahtar olarak kullanılarak videoların listesini görüntülemek için kullanılabilir.

    Not: Video kimliklerini elde etmenin arama sonuçlarını alma veya oynatma listesindeki öğeleri listeleme gibi başka birçok yolu vardır. Ancak bir video yalnızca sahibi tarafından silinebileceğinden, API isteğine yetki veren kullanıcıya ait videoların listesinin alınması bu sürecin ilk adımı olabilir.

  • 2. Adım: Videoyu silin

    Belirli bir videoyu silmek için videos.delete yöntemini çağırın. İstekte id parametresi, sildiğiniz videonun kimliğini belirtir. İstek, OAuth 2.0 kullanılarak yetkilendirilmelidir. Bu sorguyu API Gezgini'nde test ediyorsanız id parametre değeri için 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 alır:

  • 1. adım: Videonun neden bildirildiğini açıklayan kimlikleri alın

    Bir videoyu işaretlemeyle ilgili geçerli nedenlerin listesini almak için videoAbuseReportReasons.list yöntemine yetkili bir istek gönderin. Aşağıdaki örnek videoAbuseReportReason kaynağı, spam veya yanıltıcı içerik barındıran bir videoyu işaretlemeyle ilgili bilgileri içerir.

    {
      "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, ikincil nedenlerin listesiyle ilişkilidir. Bir videoyu spam içerdiği için işaretlerken nedenini belirtmeniz gerekir. İkincil bir neden belirtmeniz de önerilir.

  • 2. adım: Videoyu kötüye kullanım amaçlı içerik olarak işaretleyin

    Videoyu bildirmek için videos.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 önemle tavsiye edilir.

    JSON nesnesinin videoId mülkü, işaretlenen videoyu tanımlar.

    Aşağıdaki örnek JSON nesnesi, bir videonun spam veya yanıltıcı içerik barındırdığını ve daha da ayrıntılı olarak, yanıltıcı bir küçük resim kullandığını işaretler. Yukarıdaki örnek JSON nesnesinde gösterildiği gibi, Spam veya yanıltıcı içeriğin kimliği S'dir. Yanıltıcı küçük resim 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'nde yükler. Sorguyu test etmek için videoId mülk değeri 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