2009-10-05 22 views
6

Próbuję pobrać kanał komentarzy z wpisu wideo za pomocą interfejsu API YouTube dla .NET. Pracuję nad programem w WPF i C#, ale nie wydaje mi się, aby moje życie mogło dowiedzieć się, jak odzyskać ten kanał.Kanał komentarzy interfejsu API YouTube

Próbowałem spojrzeć na YouTube API Developer's Guide, ale brakuje niektórych informacji o kanałach komentarzy (w dolnej części strony).

Odpowiedz

-1
YouTubeRequest request = ... // Your request object  
Video v = ... // Your video object 
Feed<Comment> comments = request.GetComments(v); 

comments.entries będzie zawierać wszystkie komentarze dla v wideo jako Comment obiektów, więc nie trzeba zadzierać z paszą w ogóle.

1

Zmieniło się to w wersji 3 interfejsu API serwisu YouTube. Istnieje nowy punkt końcowy o nazwie commentThreads/list, który umożliwia zwrócenie wątku komentarzy do zasobu.

Jeśli chcesz zwrócić listę komentarzy do zasobu wideo, skonfiguruj żądanie GET, używając part=id,snippet i videoId=[VIDEO_ID]. Będę za pomocą https://www.youtube.com/watch?v=HwNIDcwfRLY jako przykład:

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

Użyjmy pierwszy komentarz powrócił jako przykład:

{ 
    "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 
    } 
} 

Należy zauważyć, że komentarz nie jest rzeczywiście w tym topLevelComment obiektu. textDisplay zwraca pusty ciąg znaków, który jest known issue z interfejsem API serwisu YouTube. Musimy złożyć dodatkowy wniosek do commentThreads/list z id=[COMMENT_ID], gdzie [COMMENT_ID] jest topLevelComment.id:

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

snippet słowniku powstałą odpowiedzią będzie mieć komentarz użytkownika jako wartość dla klucza 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" 
    } 
} 

The komentarz brzmi: "mój następny dzwonek! tak, chłopcze!"

Zauważ, że możesz również przekazać listę do 50 oddzielonych przecinkami id lub videoId ciągów obiektów komentarzy, które mają zostać pobrane przez wywołanie API.

Dodatkowe informacje i przykładowy kod można znaleźć w przewodniku Retrieve comments for a video.

Powiązane problemy