comments.markAsSpam
方法。下列範例說明如何使用 YouTube Data API (v3) 執行留言相關的函式。
擷取影片留言
如要擷取影片註解執行緒清單,請呼叫 commentThreads.list
方法。在要求中設定下列參數值:
-
part
:如果只想擷取頂層註解,請將參數值設為snippet
;如果您也想擷取頂層註解的回覆,請將參數值設為snippet,replies
。(請注意,commentThread
資源不一定包含對註解的所有回覆,如要擷取特定註解的所有回覆,您必須使用comments.list
方法)。 -
videoId
:指定您要擷取留言的影片 YouTube 影片 ID。
下方的要求會擷取與 2014 年 Google I/O 大會主題演講影片 (影片 ID 為 wtLJPvx7-ys
) 相關的留言和留言回覆。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list? part=snippet,replies &videoId=wtLJPvx7-ys
擷取留言或與頻道相關聯的留言
API 支援擷取與頻道相關的註解串,或擷取與頻道相關的所有註解串。如果是後者,API 可能包含與頻道或頻道任何影片相關的留言。
- 如要擷取頻道的留言,請按照擷取影片留言一文的說明操作。不過,請不要設定
videoId
參數,而是設定channelId
參數來識別管道。 - 如要擷取與頻道相關聯的留言,請按照擷取影片留言的指示操作。不過,請不要設定
videoId
參數,而是設定allThreadsRelatedToChannelId
參數來識別管道。
以下要求會擷取與 GoogleDevelopers YouTube 頻道相關聯的所有留言串:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list? part=snippet,replies &allThreadsRelatedToChannelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
正在新增註解
呼叫 commentThreads.insert
方法,為頻道或影片新增頂層留言。將要求的 part
參數值設為 snippet
。要求的主體是 commentThread resource
,其中 snippet.topLevelComment[].snippet[].textOriginal
屬性包含註解文字。這項要求必須使用 OAuth 2.0 授權。
- 如要在頻道中新增留言,請使用
snippet.channelId
屬性來識別頻道。 - 如要為影片新增留言,請使用
snippet.channelId
屬性來識別上傳影片的頻道。您也可以使用snippet.videoId
屬性來識別影片。
下列範例要求會將留言新增至影片。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.insert? part=snippet
這項要求會插入下列資源。
{ "snippet": { "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw", "topLevelComment": { "snippet": { "textOriginal": "This video is awesome!" } }, "videoId": "MILSirUni5E" } }
回覆留言
呼叫 comments.insert
方法來回覆註解。將要求的 part
參數值設為 snippet
。要求的主體是 comment resource
,其中 snippet.textOriginal
屬性包含註解文字。snippet.parentId
屬性可識別與回覆相關的留言,值為 commentThread resource's ID
。這項要求必須使用 OAuth 2.0 授權。
下列範例要求將回覆現有的註解。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.insert? part=snippet
這項要求會插入下列資源。如要在 APIs Explorer 中執行要求,請使用 snippet.parentId
屬性的值找出與回覆相關聯的頂層註解。在 commentThread
資源中,snippet.topLevelComment[].id
屬性會指定資源的專屬 ID。
{ "snippet": { "parentId": "COMMENT_THREAD_ID", "textOriginal": "That is true." } }
更新頂層留言或留言回覆
如要更新頂層留言的文字或回覆頂層註解,請呼叫 comments.update
方法。將 part
參數的值設為 snippet
。在要求主體中,id
屬性會識別您正在修改的留言和新的註解文字。
- 在識別頂層留言的
commentThread
資源中,snippet.topLevelComment[].id
屬性會指定留言的專屬 ID。 - 在
comment
資源中,可用來識別頂層留言或留言的回覆,id
屬性會指定留言的專屬 ID。
下方的要求範例會更新現有評論的文字。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.update? part=snippet
要求主體會包含下方所示的 JSON 程式碼片段。如要在 APIs Explorer 中執行要求,請設定 id
屬性的值,以識別要更新的註解。此要求必須是由註解的作者授權。
{ "id": "COMMENT_ID", "snippet": { "textOriginal": "That is true." } }
設定留言的管理狀態
如要設定留言的管理狀態,請呼叫 comments.setModerationStatus
方法。此動作會在頻道擁有者管理頻道或頻道影片的留言時使用。
呼叫這個方法時,請設定 id
參數值來識別註解。此外,請將 moderationStatus
參數設為所需狀態。只有顯示該留言的頻道擁有者才能調整留言的狀態。
-
步驟 1:擷取待審核的留言
呼叫
commentThreads.list
方法來擷取頻道或影片的留言。將moderationStatus
參數的值設為heldForReview
。API 回應可用於顯示留言清單,並提供頻道擁有者發布或拒絕每則留言的選項。 -
步驟 2:更新留言的管理狀態
呼叫
comments.setModerationStatus
方法來更新註解狀態。使用id
參數的值來指定留言的專屬 ID。將moderationStatus
參數設為published
或rejected
。如要拒絕留言,您也可以將banAuthor
參數設為true
,以免作者對頻道或影片做出其他留言。
注意:API 不提供列出或探索遭拒註解的方式。不過,如果系統知道留言的專屬 ID,您還是可以將遭拒留言的管理狀態變更為 published
。此外,留言的管理狀態更新為「published
」或「rejected
」後,也無法將審核狀態變更為「heldForReview
」。
移除留言
這個範例說明如何刪除留言。這個範例包含下列步驟:
-
步驟 1:擷取留言 ID
按照上述步驟擷取影片或頻道的留言清單。請注意,留言只能由註解的作者刪除,因此您必須比對
comment
資源的snippet.authorChannelId.value
屬性值與已驗證使用者的頻道 ID,判斷使用者能否刪除該留言。 -
步驟 2:刪除留言或留言串
找出要刪除的留言串或留言的 ID 後,呼叫
comments.delete
方法即可刪除該留言。使用id
參數值即可識別要刪除的留言 ID 或留言討論串 ID。該要求必須使用 OAuth 2.0 授權。如果您在 APIs Explorer 中測試這項查詢,就必須在下方要求中的id
參數值替換成有效的留言 ID 或留言串 ID。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.delete? id=COMMENT_ID