Недокументированная функция - gapi.client.youtube.commentThreads.insert
Когда я просматривал Google YouTube DATA API и обнаружил объект gapi.client.youtube.commentThreads.insert, я пытался его использовать, но я не знал, как его использовать, и документация по API данных о нем мало что говорит. этого Google использует функцию buildApiRequest для создания запроса.
Я пытался написать и запустить код, как это выше, но он возвращает ошибку 400
Код:
var c = new gapi.client.youtube.commentThreads.insert(
{
"part":"snippet"
},{
'snippet.channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw',
'snippet.videoId':'NeF0zpT4gNE',
'snippet.topLevelComment.snippet.textOriginal':'Hello from API'
});
c.execute();
отклик
{
"error": {
"errors": [
{
"domain": "youtube.commentThread",
"reason": "channelOrVideoIdMissing",
"message": "Each comment thread must be linked to a channel or video.\u003cul\u003e\u003cli\u003eIf the comment applies to a channel, make sure that the resource specified in the request body provides a value for the \u003ccode\u003e\u003ca href=\"/youtube/v3/docs/commentThreads#snippet.channelId\"\u003esnippet.channelId\u003c/a\u003e\u003c/code\u003e property. A comment that applies to a channel appears on the channels \u003cb\u003eDiscussion\u003c/b\u003e tab.\u003c/li\u003e\u003cli\u003eIf the comment applies to a video, make sure the resource specifies values for both the \u003ccode\u003e\u003ca href=\"/youtube/v3/docs/commentThreads#snippet.channelId\"\u003esnippet.channelId\u003c/a\u003e\u003c/code\u003e and \u003ccode\u003e\u003ca href=\"/youtube/v3/docs/commentThreads#snippet.videoId\"\u003esnippet.videoId\u003c/a\u003e\u003c/code\u003e properties. A comment that applies to a video appears on the videos watch page.\u003c/li\u003e\u003c/ul\u003e",
"locationType": "other",
"location": "body.snippet"
}
],
"code": 400,
"message": "Each comment thread must be linked to a channel or video.\u003cul\u003e\u003cli\u003eIf the comment applies to a channel, make sure that the resource specified in the request body provides a value for the \u003ccode\u003e\u003ca href=\"/youtube/v3/docs/commentThreads#snippet.channelId\"\u003esnippet.channelId\u003c/a\u003e\u003c/code\u003e property. A comment that applies to a channel appears on the channels \u003cb\u003eDiscussion\u003c/b\u003e tab.\u003c/li\u003e\u003cli\u003eIf the comment applies to a video, make sure the resource specifies values for both the \u003ccode\u003e\u003ca href=\"/youtube/v3/docs/commentThreads#snippet.channelId\"\u003esnippet.channelId\u003c/a\u003e\u003c/code\u003e and \u003ccode\u003e\u003ca href=\"/youtube/v3/docs/commentThreads#snippet.videoId\"\u003esnippet.videoId\u003c/a\u003e\u003c/code\u003e properties. A comment that applies to a video appears on the videos watch page.\u003c/li\u003e\u003c/ul\u003e"
}
}
1 ответ
Решение
Я нашел решение, я был глуп, потому что параметры должны передаваться объектом - вот пример для тех, кто будет использовать эту функцию.
var c = new gapi.client.youtube.commentThreads.insert(
{
"part": "snippet"
},
{
"snippet": {
"channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
"videoId": "NeF0zpT4gNE",
"topLevelComment": {
"snippet": {
"textOriginal": "Hello from API"
}
}
}
}
);
c.execute();