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.

Bir video için yorumları alma

Bir videoya ait yorum ileti 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, ü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çermeyebileceğini ve belirli bir yoruma ilişkin 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 ilgili yorumları ve yorum yanıtlarını almaktadır. Bu video kimliği wtLJPvx7-ys.

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

Bir kanal hakkındaki veya kanalla ilişkili yorumları alma

Bu API, bir kanal hakkındaki yorum ileti dizilerini veya bir kanalla ilişkili tüm yorum ileti dizilerini alma özelliğini destekler. İkinci durumda API, kanal veya kanalın videolarından herhangi biri hakkında yorumlar içerebilir.

  • Bir kanal hakkındaki yorumları almak için video için yorum alma talimatlarını 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 için yorum alma talimatlarını 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 ileti 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 yeni, üst düzey 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 özelliğinin yorum metnini içerdiği bir commentThread resource. Bu istek, OAuth 2.0 kullanılarak yetkilendirilmelidir.

  • Bir kanala yorum eklemek için kanalı tanımlamak üzere snippet.channelId özelliğini kullanın.
  • Bir videoya yorum eklemek için videoyu yükleyen kanalı tanımlamak üzere snippet.channelId özelliğini kullanın. Videoyu tanımlamak için snippet.videoId özelliğini 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"
 }
}

Yorumu yanıtlama

Yorumlara yanıt vermek için comments.insert yöntemini çağırın. İsteğin part parametre değerini snippet olarak ayarlayın. İsteğin gövdesi, snippet.textOriginal özelliğinin yorum metnini içerdiği bir comment resource. snippet.parentId özelliği, yanıtla ilişkilendirilen yorumu tanımlar ve bu özelliğin değeri commentThread resource's ID'dir. 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 snippet.parentId özelliğinin değerini kullanarak yanıtla ilişkilendirilen üst düzey yorumu tanımlayın. Bir 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 yorumu veya yorum yanıtını güncelleme

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

  • Üst düzey yorumu tanımlayan bir commentThread kaynağında snippet.topLevelComment[].id özelliği, yorumun benzersiz kimliğini belirtir.
  • Üst düzey bir yorumu veya bir yoruma verilen yanıtı tanımlayabilen comment kaynağında, id özelliği 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 gövdesi, aşağıda gösterilen JSON snippet'ini içerir. İsteği API Gezgini'nde yürütmek için id özelliğinin 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."
  }
}

Yorumun denetim durumunu belirleme

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

Bu yöntemi çağırırken yorumu tanımlamak için id parametresinin değerini ayarlayın. Ayrıca moderationStatus parametresini istediğiniz duruma ayarlayın. Bir yorumun durumunu, yalnızca yorumun göründüğü kanalın sahibi ayarlayabilir.

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

    Kanal veya videoya yapılan yorumları almak için commentThreads.list yöntemini çağırın. moderationStatus parametresinin değerini heldForReview olarak ayarlayın. API yanıtı, kanal sahibinin yorumları yayınlama veya reddetme seçeneğiyle birlikte bir yorum listesi göstermek için kullanılabilir.

  • 2. Adım: Yorumun denetleme 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 yazarın kanal veya videoya ek yorum yapmasını engellemek için banAuthor parametresini true olarak da ayarlayabilirsiniz.

Not: API, reddedilen yorumların listelenmesi veya keşfedilmesi için bir yol sağlamaz. Ancak, reddedilen bir yorumun benzersiz kimliği biliniyorsa söz konusu yorumun denetleme durumunu published olarak değiştirebilirsiniz. Ayrıca bir yorumun moderasyon durumu published veya rejected olarak güncellendikten sonra moderasyon durumu tekrar heldForReview olarak değiştirilemez.

Yorumu kaldırma

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

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

    Bir video veya kanal için yorum listesi almak üzere yukarıdaki adımları uygulayın. Bir yorumun yalnızca yazarı tarafından silinebileceğini unutmayın. Bu nedenle, kullanıcının belirli bir yorumu silip silemeyeceğini belirlemek için comment kaynağının snippet.authorChannelId.value özelliğinin 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

    Silmekte olduğunuz yorum dizisinin veya yorumun kimliğini belirledikten sonra, bu yorumu silmek için comments.delete yöntemini çağırın. Silmekte olduğunuz yorum kimliğini veya yorum 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 istekte id parametre değeri yerine geçerli bir yorum kimliği veya yorum ileti dizisi kimliğini değiştirmeniz gerekir.

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