2009-10-05 20 views
6

Sto tentando di ottenere il feed Commenti da una voce video utilizzando l'API di YouTube per .NET. Sto lavorando su un programma in WPF e C#, ma non riesco a capire per la vita di me capire come recuperare questo feed.Feed commenti API YouTube

Ho provato a guardare lo YouTube API Developer's Guide, ma sembra mancano alcune informazioni sui feed di commenti (nella parte inferiore della pagina).

risposta

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

comments.entries conterrà tutti i commenti per il video v come Comment oggetti, quindi non c'è bisogno di pasticciare con l'alimentazione a tutti.

1

Questo è cambiato nella versione 3 dell'API di YouTube. C'è un nuovo endpoint chiamato commentThreads/list che consente di restituire una discussione di commenti per una risorsa.

Se si desidera restituire un elenco di commenti su una risorsa video, impostare una richiesta GET con part=id,snippet e videoId=[VIDEO_ID]. Sarò con https://www.youtube.com/watch?v=HwNIDcwfRLY come esempio:

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

Usiamo il primo commento restituito come un esempio:

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

Nota che il commento non è in realtà in questo oggetto topLevelComment. textDisplay restituisce la stringa vuota, che è un known issue con l'API di YouTube. Abbiamo bisogno di fare una richiesta supplementare per commentThreads/list con id=[COMMENT_ID], dove [COMMENT_ID] è topLevelComment.id:

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

dizionario snippet del risposta risultante avrà commento dell'utente come valore per la chiave 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" 
    } 
} 

Il il commento è: "il mio prossimo suoneria! sì, ragazzo!"

Si noti che è anche possibile passare un elenco di fino a 50 id separate da virgola o videoId di oggetti di commento da recuperare per chiamata API.

Vedere la guida Retrieve comments for a video per ulteriori informazioni e codice di esempio.

Problemi correlati