Uygulama: Yorumlar

comments.markAsSpam yöntemi artık desteklenmiyor.

Aşağıdaki örneklerde, yorumlarla ilgili işlevleri gerçekleştirmek için YouTube Data API'nin (v3) nasıl kullanılacağı gösterilmektedir.

Videonun yorumlarını alma

Bir videonun yorum mesaj dizilerinin listesini almak için commentThreads.list yöntemini çağırın. İsteğinizde aşağıdaki parametre değerlerini ayarlayın:

  • part: Yalnızca üst düzey yorumları almak istiyorsanız parametre değerini snippet olarak, üst düzey yorumlara verilen yanıtları da almak istiyorsanız snippet,replies olarak ayarlayın. (commentThread kaynağının, bir yoruma verilen tüm yanıtları içermediğini ve belirli bir yoruma verilen tüm yanıtları almak istiyorsanız comments.list yöntemini kullanmanız gerektiğini unutmayın.)

  • videoId: Yorumlarını aldığınız videonun YouTube video kimliğini belirtin.

Aşağıdaki istek, 2014 Google I/O konferansındaki açılış konuşmasının videosuyla (wtLJPvx7-ys video kimliğine sahip) ilgili yorumları ve yorum yanıtlarını alır.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list?
part=snippet,replies
&videoId=wtLJPvx7-ys

Bir kanalla ilgili veya kanalla ilişkili yorumları alma

API, bir kanalla ilgili yorum ileti dizilerini veya bir kanalla ilişkili tüm yorum ileti dizilerini alma özelliğini destekler. İkinci durumda API, kanalla veya kanalın videolarıyla ilgili yorumlar içerebilir.

  • Bir kanalla ilgili yorumları almak için video yorumlarını alma ile ilgili talimatları uygulayın. Ancak kanalı tanımlamak için videoId parametresini ayarlamak yerine channelId parametresini ayarlayın.

  • Bir kanalla ilişkili yorumları almak için video yorumlarını alma ile ilgili talimatları uygulayın. Ancak kanalı tanımlamak için videoId parametresini ayarlamak yerine allThreadsRelatedToChannelId parametresini ayarlayın.

Aşağıdaki istek, GoogleDevelopers YouTube kanalıyla ilişkili tüm yorum dizilerini alır:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list?
part=snippet,replies
&allThreadsRelatedToChannelId=UC_x5XG1OV2P6uZZ5FSM9Ttw

Yorum ekleme

Bir kanala veya videoya üst düzey yeni bir yorum eklemek için commentThreads.insert yöntemini çağırın. İsteğin part parametre değerini snippet olarak ayarlayın. İsteğin gövdesi, snippet.topLevelComment[].snippet[].textOriginal mülkünün yorum metnini içerdiği bir commentThread resource öğesidir. Bu istek, OAuth 2.0 kullanılarak yetkilendirilmelidir.

  • Bir kanala yorum eklemek için kanalı tanımlamak üzere snippet.channelId mülkünü kullanın.
  • Bir videoya yorum eklemek için videoyu yükleyen kanalı tanımlamak üzere snippet.channelId mülkünü kullanın. Videoyu tanımlamak için snippet.videoId mülkünü de kullanın.

Aşağıdaki örnek istek, bir videoya yorum ekler.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.insert?
part=snippet

İstek, aşağıda gösterilen kaynağı ekler.

{
 "snippet": {
  "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
  "topLevelComment": {
   "snippet": {
    "textOriginal": "This video is awesome!"
   }
  },
  "videoId": "MILSirUni5E"
 }
}

Yorumları yanıtlama

Bir yorumu yanıtlamak için comments.insert yöntemini çağırın. İsteğin part parametresi değerini snippet olarak ayarlayın. İsteğin gövdesi, snippet.textOriginal mülkünün yorum metnini içerdiği bir comment resource öğesidir. snippet.parentId mülkü, yanıtla ilişkili yorumu tanımlar ve değeri bir commentThread resource's ID olur. Bu istek, OAuth 2.0 kullanılarak yetkilendirilmelidir.

Aşağıdaki örnek istek, mevcut bir yoruma yanıt ekler.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.insert?
part=snippet

İstek, aşağıda gösterilen kaynağı ekler. İsteği API Gezgini'nde yürütmek için yanıtla ilişkili üst düzey yorumu tanımlamak üzere snippet.parentId mülkünün değerini kullanın. commentThread kaynağında snippet.topLevelComment[].id özelliği, kaynağın benzersiz kimliğini belirtir.

{
  "snippet": {
    "parentId": "COMMENT_THREAD_ID",
    "textOriginal": "That is true."
  }
}

Üst düzey yorumları veya yorum yanıtlarını güncelleme

Üst düzey bir yorumun veya üst düzey bir yoruma verilen yanıtın metnini güncellemek için comments.update yöntemini çağırın. part parametresinin değerini snippet olarak ayarlayın. İstek gövdesinde id mülkü, değiştirdiğiniz yorumu ve yeni yorum metnini tanımlar.

  • Üst düzey bir yorumu tanımlayan commentThread kaynağında snippet.topLevelComment[].id mülkü, yorumun benzersiz kimliğini belirtir.
  • Üst düzey bir yorumu veya bir yoruma verilen yanıtı tanımlayabilen comment kaynağında id mülkü, yorumun benzersiz kimliğini belirtir.

Aşağıdaki örnek istek, mevcut bir yorumun metnini günceller.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.update?
part=snippet

İstek metni, aşağıda gösterilen JSON snippet'ini içerir. İsteği API'ler Gezgini'nde yürütmek için id mülkünün değerini, güncellediğiniz yorumu tanımlayacak şekilde ayarlayın. İstek, yorumun yazarı tarafından yetkilendirilmelidir.

{
  "id": "COMMENT_ID",
  "snippet": {
    "textOriginal": "That is true."
  }
}

Yorumların moderasyon durumunu ayarlama

Bir yorumun moderasyon durumunu ayarlamak için comments.setModerationStatus yöntemini çağırın. Bu işlem, kanal sahibi kanaldaki veya kanalın videolarındaki yorumları denetlediği zaman kullanılır.

Bu yöntemi çağırırken id parametresinin değerini yorumu tanımlayacak şekilde ayarlayın. Ayrıca moderationStatus parametresini istediğiniz duruma ayarlayın. Bir yorumun durumu yalnızca yorumun göründüğü kanalın sahibi tarafından düzenlenebilir.

  • 1. Adım: İnceleme için bekletilen yorumları alın

    Kanal veya videonun yorumlarını almak için commentThreads.list yöntemini çağırın. moderationStatus parametresinin değerini heldForReview olarak ayarlayın. API yanıtı, kanal sahibinin her birini yayınlama veya reddetme seçeneğiyle birlikte yorumların listesini görüntülemek için kullanılabilir.

  • 2. Adım: Bir yorumun moderasyon durumunu güncelleyin

    Yorumun durumunu güncellemek için comments.setModerationStatus yöntemini çağırın. Yorumun benzersiz kimliğini belirtmek için id parametresinin değerini kullanın. moderationStatus parametresini published veya rejected olarak ayarlayın. Bir yorumu reddediyorsanız yorumun sahibinin kanal veya videoya başka yorumlar eklemesini engellemek için banAuthor parametresini true olarak da ayarlayabilirsiniz.

Not: API, reddedilen yorumları listeleme veya başka bir şekilde keşfetme olanağı sağlamaz. Bununla birlikte, reddedilen bir yorumun moderasyon durumunu, yorumun benzersiz kimliği biliniyorsa published olarak değiştirebilirsiniz. Ayrıca, bir yorumun moderasyon durumu published veya rejected olarak güncellendikten sonra moderasyon durumu heldForReview olarak geri değiştirilemez.

Yorumu kaldırma

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

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

    Bir videonun veya kanalın yorum listesini almak için yukarıdaki adımları uygulayın. Bir yorumun yalnızca yazarı tarafından silinebileceğini unutmayın. Bu nedenle, kullanıcının söz konusu yorumu silip silemeyeceğini belirlemek için comment kaynağının snippet.authorChannelId.value mülkünün değerini kimliği doğrulanmış kullanıcının kanal kimliğiyle karşılaştırmanız gerekir.

  • 2. Adım: Yorumu veya yorum dizisini silin

    Sildiğiniz yorum dizisinin veya yorumun kimliğini belirledikten sonra, ilgili yorumu silmek için comments.delete yöntemini çağırın. Sildiğiniz yorum kimliğini veya yorum mesaj dizisi kimliğini tanımlamak için id parametre değerini kullanın. İstek, OAuth 2.0 kullanılarak yetkilendirilmelidir. Bu sorguyu API Gezgini'nde test ediyorsanız aşağıdaki istekteki id parametre değeri için geçerli bir yorum kimliği veya yorum mesaj dizisi kimliği kullanmanız gerekir.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.delete?
    id=COMMENT_ID