新手 - Chrome扩展& Spotify API

时间:2017-02-07 17:23:45

标签: javascript google-chrome google-chrome-extension spotify

我已经离开编程游戏一段时间并试图重新开始玩乐。我正在研究一个用于spotify网络播放器的愚蠢的Chrome扩展程序,它会检查当前播放的歌曲是否标记为显式。

Spotify有两个版本的网络播放器。较新的版本可以很容易地查看曲目是否明确,但旧版本并不总是有此信息。我确实设法提取了曲目ID并使用了Spotify API,理论上我应该能够使用以下内容来提取曲目信息:https://api.spotify.com/v1/tracks/4ckuS4Nj4FZ7i3Def3Br8W - 用当前正在播放的曲目ID替换ID。在URL中的数据将是

"explicit" : true,

"explicit" : false,

我无法弄清楚如何让扩展程序抓取并解析这些数据。我一直在尝试使用XMLHttpRequest功能,但没有任何工作,我看到一些跨域问题的信息,我想知道这是否是我遇到的问题因为扩展名在本地计算机上而不是* .spotify.com。但同样,对于chrome / js的新手,我不确定。

1 个答案:

答案 0 :(得分:0)

您从api检索的数据是json格式,因此您需要做的就是使用JSON.parse() link解析从http请求收到的字符串。您需要做的就是解析该数据,这将把它变成一个javascript对象。从那里你需要做的就是用parsedObject.explicit抓住那个布尔值。如果你不知道json或者对象是什么,则每个(分别)understanding jsonunderstanding objects有两个简单的解释。

如果您的http请求失败,很可能是因为您没有正确设置您的扩展程序网站访问清单中的permissions。确保访问api.spotify.com的权限已到位且Match pattern已设置为正确地将您尝试使用http请求访问的页面列入白名单。 (在你的情况下"https://api.spotify.com/*"