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:图书馆类不会返回用户播放列表

使用 Spotify Apps API 从给定播放列表中的特定曲目开始

Apps API 中的 Spotify playlists.tracks 对象中缺少用户字段

无法在 Spotify Apps API 中获取艺术家的专辑

setImage 不使用 Spotify Apps API 在 JavaScript 中显示新图像