1

我想在我的网站上附加一个“他现在在听什么!” 我的网站的功能,它会说诸如停播或当前歌曲的任何内容。我不知道是否有办法做到这一点。

我想找到一种传播音乐品味的方法,如果访问我网站的人有谷歌音乐,他们也可以听那首歌,或者点击它来启动他们的播放器来播放那首歌。

我不知道给定的 Google 用户名是否有任何 API 或类似的东西。

有谁知道如果/如何做到这一点?

我在想我可以有一个可以 ping 谷歌网站的脚本,或者运行一个 php 脚本,它将用信息填充列表或数据库。

4

2 回答 2

2

根据Google Developers 上的产品页面,没有与 Google Play Music 相关的 API。


您可以创建一个书签或浏览器扩展来从用户那里提取歌曲标题等,然后使用 ajax 将其提交到您的服务器。要使用 jQuery 获取信息:

title = $("#playerSongTitle").text(); //Song title
artist = $("#player-artist").text(); //Song artist
album = $(".player-album:first").text(); //Album title
data = JSON.stringify([title, artist, album]); //Generate json string
$.post('http://www.example.com/postSong.php', data); //Send to server

确保Access-Control-Allow-Origin标头服务器端设置为允许传入请求。


演示:

这是一个书签(香草 JS):

javascript:alert('Title: '+document.getElementById('playerSongTitle').innerHTML+'. Artist: '+document.getElementById('player-artist').innerHTML+'. Album: '+document.getElementsByClassName('player-album')[0].innerHTML+'.');

如果页面上不存在元素,此函数将失败。在生产中,使用以下命令检查信息是否可用:

if(document.getElementsByClassName('player-album').length > 0){
    //Music info is available
}else{
    //Music info is not available
}
于 2014-07-18T18:50:14.873 回答
0

Github 上有一个开源项目: https ://github.com/simon-weber/Unofficial-Google-Music-API 也引用了他的网站:http ://unofficial-google-music-api.readthedocs.org/ zh/最新/

现在,从我所看到和管理的情况来看,虽然您看不到别人在说什么,但您可以使用此应用程序下载到计算机或服务器,然后通过您的网站访问这些下载的流。

您不能公开分享此内容,因为它违反了 EULA。确保你遵守规则,因为我知道我不想有问题。如果您有一个执行此计算的大脑服务器,然后工作服务器只是根据需要进行 ping,这可能会派上用场。这是我想做的一个侧面目标。允许我创建一个渐变系统,让我可以根据我所在的房间在房子周围播放音乐,而不是总是在客厅播放。

现在,如果你想打破 EULA(我不希望你这样做,我知道我不是),但你可以将当前歌曲存储在服务器上,然后每次网站加载时,它只会延迟加载当前正在播放的文件或当前播放列表。但是,这样做意味着您无法在设备上播放音乐,因为您只能拥有 1 个音乐访问点,因此您作为个人必须将网络服务器设置为您想听的任何内容,然后只需从网络服务器而不是您的设备流式传输。

以为你们都想知道。:)

于 2014-11-24T16:41:26.107 回答