Wdrożenie: komentarze

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

Te przykłady pokazują, jak używać interfejsu YouTube Data API (w wersji 3) do wykonywania funkcji związanych 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: jeśli chcesz pobrać tylko komentarze najwyższego poziomu, ustaw wartość parametru na snippet. Jeśli chcesz pobrać także odpowiedzi na komentarze najwyższego poziomu, ustaw wartość parametru na snippet,replies. (Pamiętaj, że zasób commentThread niekoniecznie zawiera wszystkie odpowiedzi na komentarz, a jeśli chcesz pobrać wszystkie odpowiedzi na konkretny komentarz, musisz użyć metody comments.list).

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

Poniższe żądanie zwraca komentarze i odpowiedzi na komentarze dotyczące filmu z przemówieniem otwierającym na konferencji Google I/O 2014, który ma identyfikator wtLJPvx7-ys.

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

Pobieranie komentarzy dotyczących kanału lub powiązanych z nim

Interfejs API umożliwia pobieranie wątków komentarzy dotyczących kanału lub wszystkich wątków komentarzy powiązanych z kanałem. W tym drugim przypadku interfejs API może zawierać komentarze dotyczące kanału lub któregokolwiek z jego filmów.

Poniższe żądanie zwraca 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

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

  • Aby dodać komentarz do kanału, użyj właściwości snippet.channelId, aby zidentyfikować kanał.
  • Aby dodać komentarz do filmu, użyj właściwości snippet.channelId, aby zidentyfikować kanał, z którego został przesłany film. Do identyfikacji filmu użyj też właściwości snippet.videoId.

W tym przykładowym żądaniu dodawany jest 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 obiekt comment resource, w którego właściwości snippet.textOriginal znajduje się 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ą OAuth 2.0.

Poniżej znajduje się przykładowa prośba o dodanie odpowiedzi 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 narzędzie API Explorer, użyj wartości właściwości snippet.parentId, aby zidentyfikować komentarz najwyższego poziomu powiązany z odpowiedzią. W zasobie commentThread właściwość snippet.topLevelComment[].id określa jego unikalny identyfikator.

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

Zmiana komentarza najwyższego poziomu lub odpowiedzi na komentarz

Aby zaktualizować tekst komentarza najwyższego poziomu lub odpowiedzi na komentarz najwyższego poziomu, wywołaj metodę comments.update. Ustaw wartość parametru part na snippet. W treści żądania właściwość id identyfikuje komentarz, który modyfikujesz, 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 zasobach comment, które mogą identyfikować komentarz na najwyższym poziomie lub odpowiedź na komentarz, 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 poruszniku interfejsów API, ustaw wartość właściwości id, aby wskazać komentarz, który chcesz zaktualizować. Prośba musi być autoryzowana przez autora komentarza.

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

Ustawianie stanu moderacji komentarza

Aby ustawić stan moderacji komentarza, wywołaj metodę comments.setModerationStatus. Ta opcja jest używana, gdy właściciel kanału moderuje komentarze na kanale lub w filmach.

Podczas wywoływania tej metody ustaw wartość parametru id, aby zidentyfikować komentarz. Ustaw też parametr moderationStatus na odpowiedni stan. Stan komentarza może zmienić tylko właściciel kanału, na którym się on znajduje.

  • Krok 1. Pobierz komentarze, które są wstrzymywane do sprawdzenia

    Wywołaj metodę commentThreads.list, aby pobrać komentarze do kanału lub filmu. Ustaw wartość parametru moderationStatus na heldForReview. Odpowiedź interfejsu API może być użyta do wyświetlenia listy komentarzy z opcją opublikowania lub odrzucenia każdego z nich przez właściciela kanału.

  • Krok 2. Zaktualizuj stan moderacji komentarza

    Aby zaktualizować stan komentarza, wywołaj metodę comments.setModerationStatus. Aby podać 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 odrzuconych komentarzy ani ich znajdowania. Nadal możesz jednak zmienić stan moderacji odrzuconego komentarza na published, jeśli znasz jego unikalny identyfikator. Ponadto, gdy stan moderacji komentarza zostanie zmieniony na published lub rejected, nie można go zmienić z powrotem na heldForReview.

Usuwać komentarze

Ten przykład pokazuje, jak usunąć komentarz. Przykład zawiera te kroki:

  • Krok 1. Pobierz identyfikator komentarza

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

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

    Po zidentyfikowaniu identyfikatora wątku komentarzy lub komentarza, który chcesz usunąć, wywołaj metodę comments.delete, aby usunąć ten komentarz. Aby określić identyfikator komentarza lub wątku komentarzy, który chcesz usunąć, użyj wartości parametru id. Żądanie musi być autoryzowane za pomocą OAuth 2.0. Jeśli testujesz to zapytanie w narzędziu APIs Explorer, musisz zastąpić prawidłowy identyfikator komentarza lub identyfikator wątku komentarzy wartością parametru id w żądaniu poniżej.

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