bugfix> javascript > 投稿


Google YouTube DATA APIを閲覧していて、オブジェクトgapi.client.youtube.commentThreads.insertを見つけたとき、それを使用しようとしましたが、使用方法がわからず、Data 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();
    
    

あなたの答え