【问题标题】:Spotify Apps Api - "Share" button for created playlistSpotify Apps Api - 创建播放列表的“分享”按钮
【发布时间】:2012-04-29 22:02:03
【问题描述】:

有没有一种方法可以让您拥有一个“分享这个”按钮,为用户添加的动态创建的播放列表激活 Spotify 分享选项?

您可以通过右键单击 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。我不明白我第一次尝试时做了什么。
    猜你喜欢
    • 2012-02-28
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 2023-04-07
    相关资源
    最近更新 更多