Wdrożenie: komentarze

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

Poniższe przykłady pokazują, jak używać interfejsu YouTube Data API (wersja 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. W żądaniu ustaw te wartości parametrów:

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

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

Poniższe żądanie pobiera komentarze i odpowiedzi na komentarze związane z filmem z przemówienia otwierającego konferencję Google I/O w 2014 r., który ma identyfikator filmu 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 z nim powiązanych

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 dowolnego filmu na kanale.

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

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 commentThread resource, w którym 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 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ł, na który przesłano film. Użyj też właściwości snippet.videoId, aby zidentyfikować film.

Ten przykładowy kod żądania 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 komentarz

Aby odpowiedzieć na komentarz, wywołaj metodę comments.insert. Ustaw wartość parametru part żądania na snippet. Treść żądania to comment resource, w którym 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.

Ten przykładowy kod żądania dodaje odpowiedź na istniejący komentarz.

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ędziu APIs 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 unikalny identyfikator zasobu.

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

Aktualizowanie 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 modyfikowany komentarz i 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 komentarz, właściwość id określa unikalny identyfikator komentarza.

Poniższy przykładowy kod żądania 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, 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 moderacji komentarza, wywołaj metodę comments.setModerationStatus. Ta czynność jest wykonywana, gdy właściciel kanału moderuje komentarze na kanale lub w filmach na kanale.

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

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

    Aby pobrać komentarze do kanału lub filmu, wywołaj metodę commentThreads.list. Ustaw wartość parametru moderationStatus na heldForReview. Odpowiedź interfejsu API może służyć do wyświetlania 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. Użyj wartości parametru id, aby określić unikalny identyfikator komentarza. 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 w filmie.

Uwaga: interfejs API nie umożliwia wyświetlania ani wykrywania odrzuconych komentarzy. Możesz jednak zmienić stan moderacji odrzuconego komentarza na published, jeśli znasz jego unikalny identyfikator. Gdy stan moderacji komentarza zostanie zaktualizowany do published lub rejected, nie można go zmienić z powrotem na heldForReview.

Usuwanie komentarzy

Ten przykład pokazuje, jak usunąć komentarz. Przykład obejmuje te czynności:

  • Krok 1. Pobierz identyfikator komentarza

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

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

    Gdy zidentyfikujesz identyfikator wątku komentarzy lub komentarza, który chcesz usunąć, wywołaj metodę comments.delete, aby usunąć ten komentarz. Użyj wartości parametru id, aby zidentyfikować identyfikator komentarza lub wątku komentarzy, który chcesz usunąć. To żądanie musi być autoryzowane za pomocą protokołu OAuth 2.0. Jeśli testujesz to zapytanie w narzędziu APIs Explorer, musisz zastąpić wartość parametru id w poniższym żądaniu prawidłowym identyfikatorem komentarza lub wątku komentarzy.

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