2015-01-19 15 views
9

Tôi chỉ cố gắng để lấy danh hiệu Youtube video. Có vẻ như không thể hình dung được. Cho đến nay tôi có điều này:Làm thế nào để có được tiêu đề video Youtube với URL v3 API trong javascript w Ajax & JSON

 q = 'https://www.googleapis.com/youtube/v3/videos?id='+ itemId +'&key='+ ytApiKey +'&fields=items(snippet(channelId,title,categoryId))&part=snippet' ; 

$.ajax({ 
     url: q, 
     dataType: "jsonp", 
     success: function(data){ 
       alert(data.items[0].title); 
       console.log(data.snippet.title);    
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      alert (textStatus, + ' | ' + errorThrown); 
     } 
    }); 

Cảm ơn,

Trả lời

10

tôi nhận nó làm việc sử dụng

https://www.googleapis.com/youtube/v3/videos?id=itemId&key=apiKey&fields=items(snippet(title))&part=snippet 

alert(data.items[0].snippet.title); 

Vì vậy, không có nhiều sai với cú pháp! Nhưng tôi thấy rằng vấn đề thực sự ở phần phụ trợ khi thiết lập 'các tham chiếu được phép' của Google API. Với V3 API, bạn có thể chọn tham chiếu API nào nên thuộc về, vì vậy, những người khác không thể lấy cắp API của bạn và sử dụng nó. Vì vậy, API sẽ hoạt động nếu yêu cầu được bắt nguồn từ tên miền/IP mà bạn chỉ định. Khi tôi không cung cấp cho nó hạn chế, mã hoạt động, nhưng khi tôi nhập tên miền của tôi nó không thành công! Tôi đã nhập .mydomainname.com/, cùng một định dạng như được đề xuất, nhưng lỗi xảy ra bằng cách nào đó .. Bây giờ tôi đã tìm ra lý do.

+0

https://developers.google.com/youtube/v3/docs/videos/list – Lane

+0

Nó sẽ không thể xấu để làm những việc theo cách này? Vì bạn sẽ phải để lộ apiKey của mình lên javascript, cái nào có thể được xem bởi bất cứ ai? –

+1

Sự hiểu biết của tôi là bạn có thể liên kết miền của mình với khóa API trong trang thiết lập của Google! Bằng cách đó, Youtube biết nơi mà cuộc gọi API bắt nguồn từ đó, do đó những người khác không thể chỉ sử dụng khóa API của bạn. Tôi đã gặp phải một số vấn đề khiến nó hoạt động, vì vậy tôi đã mở một câu hỏi. Có một lời nhận xét đó, nhưng tôi đã không thử nó chưa: http://stackoverflow.com/questions/28032237/youtube-api-v3-referer-not-working-in-javascript?noredirect=1#comment44452710_28032237 –

3

Mã jquery sau sẽ lấy tiêu đề của video.

$.ajax({ 
     url: "https://www.googleapis.com/youtube/v3/videos?id=" + videoId + "&key="+ apiKey + "&fields=items(snippet(title))&part=snippet", 
     dataType: "jsonp", 
     success: function(data){ 
       console.log(data.items[0].snippet.title);   
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      alert (textStatus, + ' | ' + errorThrown); 
     } 
    }); 
+3

Nó sẽ không thể xấu để làm những việc theo cách này? Vì bạn sẽ phải để lộ apiKey của mình lên javascript, cái nào có thể được xem bởi bất cứ ai? –

Các vấn đề liên quan