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 videonun yorumlarını alma

Bir videonun yorum 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 yorumun tüm yanıtlarını içermesi gerekmediğini ve belirli bir yorumun tüm yanıtlarını 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ı videosuyla ilgili yorumları ve yorum yanıtlarını alır. Bu videonun kimliği wtLJPvx7-ys şeklindedir.

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

Bir kanalla ilgili veya ilişkili yorumları alma

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

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 yeni bir üst düzey 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'dır. 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 snippet.channelId özelliğini kullanarak videoyu yükleyen kanalı tanımlayı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"
 }
}

Yorumları yanıtlama

Bir yorumu yanıtlamak 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'dır. snippet.parentId özelliği, yanıtla ilişkili yorumu tanımlar ve değeri 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övdesindeki id özelliği, değiştirdiğiniz yorumu ve yeni yorum metnini tanımlar.

  • Üst düzey bir yorumu tanımlayan 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 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ğ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 de istediğiniz duruma ayarlayın. Yorumun durumu yalnızca yorumun göründüğü kanalın sahibi tarafından ayarlanabilir.

  • 1. adım: İnceleme için bekletilen yorumları alma

    Kanal veya videoyla ilgili yorumları 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: 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 yazarın kanalda veya videoda başka yorum yapmasını önlemek için banAuthor parametresini true olarak da ayarlayabilirsiniz.

Not: API, reddedilen yorumları listeleme veya başka bir şekilde keşfetme olanağı sunmaz. Ancak, reddedilen bir yorumun benzersiz kimliği biliniyorsa yorumun denetleme durumunu published olarak değiştirebilirsiniz. Ayrıca, bir yorumun denetleme durumu published veya rejected olarak güncellendikten sonra denetleme 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 kanalla ilgili yorum listesini almak için yukarıdaki adımları uygulayın. Yorumların yalnızca yazarları 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

    Silmek istediğ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 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 dizisi kimliği kullanmanız gerekir.

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