2

有人想通过YouTube API将视频观看数量转化为Google文档?如何使用YouTube API获取视频观看次数到Google Spreadsheet?

直到最近,我都成功地使用了David Toy的YouTube View Count in Google Spreadsheet博客文章中列出的方法。

但最近停止了工作,我开始得到以下错误:

Request failed for https://gdata.youtube.com/feeds/api/videos/Prv2-9U39K8?v=2&alt=json returned code 410. 
Truncated server response: <errors xmlns='http://schemas.google.com/g/2005'> 
<error><domain>GData</domain><code>NoLongerAvailableException</code> 
<internalReason>No longer avai... 
(use muteHttpExceptions option to examine full response) (line 2, file "Code") 

有没有人遇到这样?如果有的话,关于如何解决这个问题的想法会非常有帮助。

谢谢!

+1

这可能是由于Youtube(意外的惊喜)再次改变了他们的API的一部分。你将不得不看看他们的API文档,看看它是否发生了变化,很可能。 –

+0

您需要迁移到API的第3版(https://developers.google.com/youtube/v3/)。 [tag:youtube-api]标签上有很多关于此的帖子。 – JAL

回答

3

该博客文章中的脚本使用现在已被弃用和关闭的API的v2。新版本将是:

function getYoutubeViews(videoId){ 
    var url = "https://www.googleapis.com/youtube/v3/videos?part=statistics&id=" + videoId; 
    url = url + "&key={YOUR-API-KEY}"; 
    var videoListResponse = UrlFetchApp.fetch(url); 
    var json = JSON.parse(videoListResponse.getContentText()); 
    return json["items"][0]["statistics"]["viewCount"]; 
} 

为了使这项工作,你将需要一个API密钥。 Here是YouTube开发者网站上的指南,其中介绍了如何获得密钥。一旦获得密钥,只需用上面的代码替换{YOUR-API-KEY}即可。

要从Google电子表格中调用该功能,请选择一个单元格并输入:=getYoutubeViews("{YOUR-VIDEO-ID}")。例如,=getYoutubeViews("IiPJsI8pl8Q")

+0

'Utilities.jsonParse()'也被弃用......改为使用'JSON.parse()'。 – Mogsdad

+0

谢谢。已经更新了答案以反映这一点。 – theduck

+0

请问您是否从UrlFetchApp变量中获取? – Jevison7x

相关问题