diff options
Diffstat (limited to 'src/js/plugins/youtube.js')
-rw-r--r-- | src/js/plugins/youtube.js | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/js/plugins/youtube.js b/src/js/plugins/youtube.js index 6b70af4c..a46773a0 100644 --- a/src/js/plugins/youtube.js +++ b/src/js/plugins/youtube.js @@ -23,19 +23,21 @@ const youtube = { // Set ID this.media.setAttribute('id', utils.generateId(this.type)); - // Get the title - const key = 'AIzaSyDrNwtN3nLH_8rjCmu5Wq3ZCm4MNAVdc0c'; - const url = `https://www.googleapis.com/youtube/v3/videos?id=${videoId}&fields=items(snippet(title))&part=snippet&key=${key}`; - - fetch(url) - .then(response => response.json()) - .then(obj => { - if (utils.is.object(obj)) { - this.config.title = obj.items[0].snippet.title; - ui.setTitle.call(this); - } - }) - .catch(() => {}); + // Get the media title via Google API + const key = this.config.keys.google; + if (utils.is.string(key) && !utils.is.empty(key)) { + const url = `https://www.googleapis.com/youtube/v3/videos?id=${videoId}&key=${key}&fields=items(snippet(title))&part=snippet`; + + fetch(url) + .then(response => (response.ok ? response.json() : null)) + .then(result => { + if (result !== null && utils.is.object(result)) { + this.config.title = result.items[0].snippet.title; + ui.setTitle.call(this); + } + }) + .catch(() => {}); + } // Setup API if (utils.is.object(window.YT)) { |