Wdrożenie: komentarze

Metoda comments.markAsSpam nie jest już obsługiwana.

Z poniższych przykładów dowiesz się, jak za pomocą interfejsu YouTube Data API (v3) wykonywać funkcje związane z komentarzami.

Pobieranie komentarzy do filmu

Aby pobrać listę wątków komentarzy do filmu, wywołaj metodę commentThreads.list. Ustaw w żądaniu te wartości parametrów:

  • part: ustaw wartość parametru na snippet, jeśli chcesz pobierać tylko komentarze najwyższego poziomu, lub na snippet,replies, jeśli chcesz pobierać odpowiedzi na komentarze najwyższego poziomu. Pamiętaj, że zasób commentThread nie musi zawierać wszystkich odpowiedzi na komentarz. Aby pobrać wszystkie odpowiedzi na dany komentarz, musisz użyć metody comments.list.

  • videoId: podaj identyfikator filmu YouTube, do którego chcesz pobrać komentarze.

Widoczne poniżej żądanie pobiera komentarze i odpowiedzi na komentarze powiązane z filmem prezentującym przemówienie programowe Google I/O w 2014 roku, o identyfikatorze filmu wtLJPvx7-ys.

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

Pobieranie komentarzy na temat kanału lub powiązanych z nim

Umożliwia on pobieranie wątków komentarzy na temat kanału lub wszystkich wątków powiązanych z kanałem. W drugim przypadku interfejs API może zawierać komentarze na temat kanału lub dowolnych filmów na kanale.

To żądanie pobiera wszystkie wątki komentarzy powiązane z kanałem YouTube GoogleDevelopers:

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

Dodawanie komentarza

Wywołaj metodę commentThreads.insert, aby dodać do kanału lub filmu nowy komentarz najwyższego poziomu. Ustaw wartość parametru part żądania na snippet. Treść żądania to commentThread resource, w której właściwość snippet.topLevelComment[].snippet[].textOriginal zawiera tekst komentarza. To żądanie musi być autoryzowane za pomocą protokołu OAuth 2.0.

  • Aby dodać komentarz, wskaż kanał, korzystając z właściwości snippet.channelId.
  • Jeśli chcesz dodać komentarz do filmu, użyj właściwości snippet.channelId, aby wskazać kanał, z którego pochodzi ten film. Użyj też właściwości snippet.videoId, aby zidentyfikować film.

Poniższa przykładowa prośba dodaje komentarz do filmu.

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

Żądanie wstawia zasób pokazany poniżej.

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

Odpowiadanie na komentarze

Aby odpowiedzieć na komentarz, wywołaj metodę comments.insert. Ustaw wartość parametru part żądania na snippet. Treść żądania to comment resource, w której właściwość snippet.textOriginal zawiera tekst komentarza. Właściwość snippet.parentId identyfikuje komentarz powiązany z odpowiedzią, a jej wartość to commentThread resource's ID. To żądanie musi być autoryzowane za pomocą protokołu OAuth 2.0.

Poniższa przykładowa prośba dodaje odpowiedź do istniejącego komentarza.

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

Żądanie wstawia zasób pokazany poniżej. Aby wykonać żądanie w eksploratorze interfejsów API, użyj wartości właściwości snippet.parentId do zidentyfikowania komentarza najwyższego poziomu powiązanego z odpowiedzią. W zasobie commentThread właściwość snippet.topLevelComment[].id określa unikalny identyfikator zasobu.

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

Aktualizowanie komentarza najwyższego poziomu lub odpowiedzi na komentarz

Aby zaktualizować treść komentarza najwyższego poziomu lub odpowiedzi na taki komentarz, wywołaj metodę comments.update. Ustaw wartość parametru part na snippet. W treści żądania właściwość id wskazuje komentarz, który chcesz zmodyfikować, oraz nowy tekst komentarza.

  • W zasobie commentThread, który identyfikuje komentarz najwyższego poziomu, właściwość snippet.topLevelComment[].id określa unikalny identyfikator komentarza.
  • W zasobie comment, który może identyfikować komentarz najwyższego poziomu lub odpowiedź na niego, właściwość id określa unikalny identyfikator komentarza.

Przykładowe żądanie poniżej aktualizuje tekst istniejącego komentarza.

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

Treść żądania zawiera fragment kodu JSON pokazany poniżej. Aby wykonać żądanie w narzędziu APIs Explorer, ustaw wartość właściwości id tak, aby zidentyfikować aktualizowany komentarz. Żądanie musi być autoryzowane przez autora komentarza.

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

Ustawianie stanu moderacji komentarza

Aby ustawić stan moderowania komentarza, wywołaj metodę comments.setModerationStatus. Jest to przydatne, gdy właściciel kanału moderuje komentarze na kanale lub do filmów na kanale.

Podczas wywoływania tej metody ustaw wartość parametru id tak, aby identyfikować komentarz. Ustaw też odpowiedni stan parametru moderationStatus. Tylko właściciel kanału, na którym znajduje się komentarz, może zmienić jego stan.

  • Krok 1. Pobierz komentarze przesłane do sprawdzenia

    Wywołaj metodę commentThreads.list, aby pobrać komentarze do kanału lub filmu. Ustaw wartość parametru moderationStatus na heldForReview. Odpowiedź API może posłużyć do wyświetlenia listy komentarzy, w których właściciel kanału będzie mógł opublikować lub odrzucić każdy z nich.

  • Krok 2. Zaktualizuj stan moderowania komentarza

    Aby zaktualizować stan komentarza, wywołaj metodę comments.setModerationStatus. Aby określić unikalny identyfikator komentarza, użyj wartości parametru id. Ustaw parametr moderationStatus na published lub rejected. Jeśli odrzucasz komentarz, możesz też ustawić parametr banAuthor na true, aby uniemożliwić autorowi dodawanie kolejnych komentarzy na kanale lub pod filmem.

Uwaga: interfejs API nie umożliwia wyświetlania listy lub wykrywania odrzuconych komentarzy w żaden inny sposób. Nadal możesz jednak zmienić stan moderowania odrzuconego komentarza na published, jeśli jego unikalny identyfikator jest znany. Dodatkowo po zmianie stanu moderacji na published lub rejected nie można już zmienić jego stanu moderacji na heldForReview.

Usuwanie komentarza

Ten przykład pokazuje, jak usunąć komentarz. Przykład składa się z tych kroków:

  • Krok 1. Pobierz identyfikator komentarza

    Wykonaj czynności opisane powyżej, aby pobrać listę komentarzy dotyczących filmu lub kanału. Pamiętaj, że komentarz może usunąć tylko jego autor, więc musisz porównać wartość właściwości snippet.authorChannelId.value zasobu comment z identyfikatorem kanału uwierzytelnionego użytkownika, aby ustalić, czy może on usunąć dany komentarz.

  • Krok 2. Usuń komentarz lub wątek komentarzy

    Po ustaleniu identyfikatora usuwanego wątku lub komentarza wywołaj metodę comments.delete. Użyj wartości parametru id, aby zidentyfikować identyfikator komentarza lub wątku, który chcesz usunąć. Żądanie musi być autoryzowane za pomocą protokołu OAuth 2.0. Jeśli testujesz to zapytanie w Eksploratorze interfejsów API, wartość parametru id w poniższym żądaniu musisz zastąpić poprawnym identyfikatorem komentarza lub wątku komentarza.

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