我想在我的网站上添加一个"他现在在听什么"的功能,它会说一些类似于off-air的东西,或者当前的歌曲是什么。我不知道是否有办法做到。
我想找到一种传播音乐品味的方法,如果访问我的网站的人有谷歌音乐,他们也可以听那首歌,或者点击它来启动他们的播放器播放那首歌。
我不知道是否有任何api在那里给定的谷歌用户名,或类似的东西。
有谁知道这是如何实现的吗?
我想我可以有一个脚本,可以ping谷歌网站,或者可能运行一个php脚本,将填充列表或数据库与信息。
根据Google Developers的产品页面,没有与Google Play Music相关的API。
您可以创建一个bookmarklet或浏览器扩展来从用户那里提取歌曲标题等,并通过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
报头服务器端以允许传入请求。
演示:
这是一个bookmarklet(香草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
}
Github上有一个开源项目:https://github.com/simon-weber/Unofficial-Google-Music-API这也引用了他的网站:http://unofficial-google-music-api.readthedocs.org/en/latest/
现在,从我所看到和管理的是,虽然你不能看到别人看到的人说,你可以使用这个应用程序下载到计算机或服务器,然后通过您的网站访问那些下载的流。
你不能公开分享,因为它打破了EULA。你一定要遵守规则,因为我知道我不想有问题。这可以派上用场,如果你有一个大脑服务器做这个计算,然后工作服务器只是在需要的基础上ping。这是我想做的一个次要目标。允许我创建一个衰落系统,让我可以在房子里播放音乐,这取决于我在哪个房间,而不是总是在客厅。
现在,如果你想打破EULA(我不希望你,我知道我不是),但你可以将当前歌曲存储在服务器上,然后每次网站加载时,它就会懒人加载当前正在播放的文件或当前播放列表。这样做虽然,因为你可以想象意味着你不能在你的设备上播放音乐,因为你只能有一个访问点的音乐,所以你作为个人将不得不设置网络服务器为任何你想听,然后只是从网络服务器流,而不是你的设备。
我想你们都想知道。:)