6

YouTube API for .NET を使用して、ビデオ エントリからコメント フィードを取得しようとしています。私は WPF と C# でプログラムに取り組んでいますが、このフィードを取得する方法を理解することはできません。

YouTube API Developer's Guideを見てみましたが、コメント フィード (ページの下部付近) に関する情報が不足しているようです。

4

2 に答える 2

1

これは、YouTube API のバージョン 3 で変更されました。commentThreads/listリソースのコメントのスレッドを返すことができる新しいエンドポイントが呼び出されます。

動画リソースに関するコメントのリストを返したい場合は、 と を使用して GET リクエストを設定しpart=id,snippetますvideoId=[VIDEO_ID]。例としてhttps://www.youtube.com/watch?v=HwNIDcwfRLYを使用します。

HTTP GET https://www.googleapis.com/youtube/v3/commentThreads?part=id%2Csnippet&videoId=HwNIDcwfRLY&key={YOUR_API_KEY}

例として返された最初のコメントを使用してみましょう。

{
    "kind": "youtube#commentThread",
    "etag": "\"DsOZ7qVJA4mxdTxZeNzis6uE6ck/jhK_kJqnNF8_fiRI_o7w6ehubv8\"",
    "id": "z120sfshyxzewt1nx23sevyr1vu1jd2pr04",
    "snippet": {
        "videoId": "HwNIDcwfRLY",
        "topLevelComment": {
            "kind": "youtube#comment",
            "etag": "\"DsOZ7qVJA4mxdTxZeNzis6uE6ck/h903NemnXx-8Hfe6lRIYCFERSe4\"",
            "id": "z120sfshyxzewt1nx23sevyr1vu1jd2pr04",
            "snippet": {
            "authorDisplayName": "mach-a-chine seahawksgoonie",
            "authorProfileImageUrl": "https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg?sz=50",
            "authorChannelUrl": "http://www.youtube.com/channel/UCBmJ0sw7plIZHLvhfz7oo_w",
            "authorChannelId": {
                "value": "UCBmJ0sw7plIZHLvhfz7oo_w"
            },
            "videoId": "HwNIDcwfRLY",
            "textDisplay": "",
            "authorGoogleplusProfileUrl": "https://plus.google.com/102274783439566633837",
            "canRate": true,
            "viewerRating": "none",
            "likeCount": 0,
            "publishedAt": "2016-02-05T03:42:35.158Z",
            "updatedAt": "2016-02-05T03:42:35.158Z"
            }
        },
        "canReply": true,
        "totalReplyCount": 0,
        "isPublic": true
    }
}

コメントは実際にはこのtopLevelCommentオブジェクトに含まれていないことに注意してください。 textDisplayこれは、YouTube APIの既知の問題です。commentThreads/listwithに追加のリクエストを行う必要がありますid=[COMMENT_ID]。ここで、[COMMENT_ID]は次のtopLevelComment.idとおりです。

HTTP GET https://www.googleapis.com/youtube/v3/commentThreads?part=id%2Csnippet&id=z120sfshyxzewt1nx23sevyr1vu1jd2pr04&key={YOUR_API_KEY}

結果の応答のsnippet辞書には、ユーザーのコメントがtextDisplayキーの値として含まれます。

"snippet": {
    "authorDisplayName": "mach-a-chine seahawksgoonie",
    "authorProfileImageUrl": "https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg?sz=50",
    "authorChannelUrl": "http://www.youtube.com/channel/UCBmJ0sw7plIZHLvhfz7oo_w",
    "authorChannelId": {
            "value": "UCBmJ0sw7plIZHLvhfz7oo_w"
    },
    "videoId": "HwNIDcwfRLY",
    "textDisplay": "my next ring tone! yeah boy!\ufeff",
    "authorGoogleplusProfileUrl": "https://plus.google.com/102274783439566633837",
    "canRate": true,
    "viewerRating": "none",
    "likeCount": 0,
    "publishedAt": "2016-02-05T03:42:35.158Z",
    "updatedAt": "2016-02-05T03:42:35.158Z"
    }
}

コメントは次のとおりです。

API 呼び出しごとに取得するために、最大 50 個のコンマ区切りidまたはコメント オブジェクトの文字列のリストを渡すこともできることに注意してください。videoId

追加情報とサンプル コードについては、ビデオ ガイドのコメントの取得を参照してください。

于 2016-02-12T21:18:20.727 に答える
-1
YouTubeRequest request = ... // Your request object    
Video v = ... // Your video object
Feed<Comment> comments = request.GetComments(v);

comments.entriesビデオ v のすべてのコメントがCommentオブジェクトとして含まれるため、フィードをいじる必要はまったくありません。

于 2009-10-05T02:44:38.600 に答える