YouTube API凭据 - 未捕获的TypeError:无法读取未定义的属性“0”

时间:2016-09-01 19:08:04

标签: javascript jquery ajax youtube youtube-api

我正在使用YouTube API浏览器密钥,我这里有两个密钥,一个是我昨天创建的,另一个来自我从中获取代码的示例项目。 问题是,如果我使用自己的密钥,它将无法正常工作。它仅使用随机用户的另一个密钥。

当我检查控制台时,我看到它抛出了这个错误:

Uncaught TypeError: Cannot read property '0' of undefined

测试代码的临时密钥是:

AIzaSyDXpwzqSs41Kp9IZj49efV3CSrVxUDAwS0

您可以在以下位置创建自己的密钥:

https://console.developers.google.com/apis/credentials

我的代码如下:

像这样:

/*YouTube API V3*/

var youtube = 'CHANNEL_ID';

//YouTube API V3
$.ajax({
  url: 'https://www.googleapis.com/youtube/v3/channels?part=statistics&id='+youtube,
  dataType: 'jsonp',
  type: 'GET',
  data:{
    key:'KEY_GOES_HERE'
  },
  success: function(data) {   
    var subscribers = parseInt(data.items[0].statistics.subscriberCount);
    var k = kFormatter(subscribers);
    $('#posts .youtube .count').append(k); 
    getTotal(subscribers); 
  } 
});`

1 个答案:

答案 0 :(得分:0)

解决。

我所要做的就是在API CONSOLE中使用我的域名,而不是在开头的任何点和最后的斜杠,如下所示:

  

接受来自这些HTTP引用者(网站)的请求(可选)使用   通配符用于通配符。如果您将此留空,请求将是   从任何推荐人接受。在使用之前一定要添加引用   生产关键。        mysitename.com

保存后可能需要几秒钟或几分钟才能生效。 在任何情况下,如果错误仍然存​​在,只需将该字段保留为空。 如果它工作一次而另一次没有,就像每次刷新页面或浏览到另一个页面时随机工作一样,只需将该字段留空,它不会托管在您自己的服务器中,指责谷歌对他们的API不负责任。