aboutsummaryrefslogtreecommitdiffstats
path: root/src/js/plugins/youtube.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/plugins/youtube.js')
-rw-r--r--src/js/plugins/youtube.js28
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)) {