Spotify Apps Api - 创建播放列表的“分享”按钮
Posted
技术标签:
【中文标题】Spotify Apps Api - 创建播放列表的“分享”按钮【英文标题】:Spotify Apps Api - "Share" button for created playlist 【发布时间】:2012-04-29 22:02:03 【问题描述】:有没有一种方法可以让您拥有一个“分享这个”按钮,为用户添加的动态创建的播放列表激活 Spotify 分享选项?
您可以通过右键单击 spotify 左栏中的播放列表来完成此操作,但最好能够在应用内重复此功能
谢谢
【问题讨论】:
【参考方案1】:Apps API 提供了showSharePopup()
API,它会弹出一个对话框来共享给定的 URI,如下所示:
var sp = getSpotifyApi(1);
var models = sp.require('sp://import/scripts/api/models');
models.application.showSharePopup(document.getElementById("header"), "spotify:track:6JEK0CvvjDjjMUBFoXShNZ");
可以在here找到文档。
【讨论】:
感谢您的回复,但这是针对专辑或曲目的,您可以为创建的播放列表执行此操作吗?谢谢 我认为动态创建的播放列表你不能,因为没有 URI 您的意思是“动态创建”,如在没有名称的播放列表中(即没有出现在用户的侧边栏中)还是只是在代码中创建的?如果是前者,它们将永远无法共享——如果它不在侧边栏中,它不在后端,并且没有其他人可以访问它。如果是后者,除非用户将其提供给您,否则您不会获得 URI。 谢谢,是的,它在用户 spotify 的侧边栏中,但它是从 APP 中选择的一组相册创建的。所以我猜想没有办法获取 URI,因为它包含用户的用户名并且这没有传递给 APP API? 如果您使用当前用户的数据存储,我很确定您可以这样做:pl = new m.playlist("new playlist"); stor.set("plurishare", pl.uri);
,让我们知道?【参考方案2】:
我只是测试我的评论并且它有效,然后我建议作为答案:
当您将播放列表添加到用户存储新的 uri 时:
stor = sp.require("sp://import/scripts/storage");
如果将播放列表添加到用户侧边栏:
pl = new model.playlist("playlist to share");
stor.set("playlisturitoshare", pl.uri);
分享然后使用 iKenndac 解决方案
【讨论】:
嘿,谢谢,但是创建播放列表时 uri 是空白(null)? 我这边再测试一次,希望没有出错。 你在一次新的尝试之后是正确的,我在 uri 中也得到了 null。我不明白我第一次尝试时做了什么。以上是关于Spotify Apps Api - 创建播放列表的“分享”按钮的主要内容,如果未能解决你的问题,请参考以下文章
Spotify Apps API:图书馆类不会返回用户播放列表
使用 Spotify Apps API 从给定播放列表中的特定曲目开始
Apps API 中的 Spotify playlists.tracks 对象中缺少用户字段