使用YouTube API时出现两个问题:浏览器密钥无效,用户名/频道名称无效

时间:2016-09-01 07:28:34

标签: ajax youtube youtube-api youtube-data-api

我正在使用此项目http://codepen.io/juanv911/pen/gbgjLe从YouTube,Facebook,Twitter和其他网站中提取关注者/喜欢/订阅者数据,问题是我遇到了两个问题:

第一个问题:YouTube频道ID /用户ID无效,因为它是字母数字?

如果我试试这个随机的youtube用户:

var youtube = 'envato';

它有效。

但是,如果我尝试这样做,它不会:

var youtube = 'iz2KM8dASHDBAISDGB'; // FAKE User ID

或者这个:

var youtube = 'UCiz2KM8dDBN2OlERERWA'; // FAKE Channel ID

这些ID是假的BTW,我写的只是为了演示代码,除了envato,这是一个真正的YouTube用户帐户。 我的频道是全新的,因此要创建自定义用户ID,我必须满足一些要求。

第二个问题:YouTube API浏览器密钥不起作用

如果我在Code Pen的项目中使用此API浏览器密钥,则可以使用:

 key:'AIzaSyDXpwzqSs41Kp9IZj49efV3CSrVxUDAwS0'

但如果我使用我之前创建的自己的密钥,它就不会。

这是我的代码:

*YouTube API V3*/


var youtube = 'envato';


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

1 个答案:

答案 0 :(得分:1)

您需要更改" forUsername"在你的代码中" id"如果你想使用频道ID。

像这样:

*YouTube API V3*/


var youtube = 'UCJr72fY4cTaNZv7WPbvjaSw';


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