当前位置: 首页 > 知识库问答 >
问题:

在Spotify API Javascript添加到服务器中搜索跟踪

卢景澄
2023-03-14

我正在web2py和vue.js上构建一个web应用程序,理想情况下,它可以搜索Spotify歌曲,列出结果,并允许我将选定结果添加到存储在服务器上的播放列表中。

我目前一直在尝试实现Spotify搜索功能。他们的文档不是很全面,我只是一个初学者。

>

  • 我希望能够在搜索中输入任何内容(播放按钮、曲目标题、艺术家或专辑),获得结果列表并将其显示在我的网站上的表格上(标题、艺术家、专辑、专辑封面、持续时间等)。我不知道SpotifyAPI上的哪些函数可以用来实现这一点。

    列出结果后,我希望能够选择一首歌曲并将其添加到存储在服务器中的播放列表中。我知道如何进行POST请求并将项目添加到数据库中,但我不知道如何从列表中选择特定结果并将其信息以JSON格式发送到服务器。我想我不明白我的歌曲表上的每一行如何链接到我可以传递给服务器的特定JSON对象。

  • 共有1个答案

    邢雨华
    2023-03-14

    下面是一个获取Linkin Park's Numb轨迹信息的示例。因此,现在您所要做的就是将所有这些命令转换为Javascript,使用ajax或

    步骤1:获取曲目id

    curl -X GET "https://api.spotify.com/v1/search?q=track%3Anumb+artist%3Alinkin+park&type=track" -H "Accept: application/json"
    
    //Javascript
    $.get( "https://api.spotify.com/v1/search?q=track%3Anumb+artist%3Alinkin+park&type=track", 
        function( data ) {
            console.log(data);  
        });
    

    步骤2:获取访问令牌

    curl H "Authorization: Basic YOUR_CLIENT_CREDENTIALS" -d grant_type=client_credentials https://accounts.spotify.com/api/token
    

    YOUR_CLIENT_CREDENTIALS就是你的ClientId: ClientSecret,你可以使用这个函数来获取它:

    btoa('YOUR_CLIENT_ID:YOUR_CLIENT_SECRET')
    

    做ajax请求实际上有点棘手,Spotify实际上希望你在服务器端做,我建议你参考这个链接:

    访问控制允许来源被拒绝spotify api

    步骤3:获取音频功能

    curl -X GET "https://api.spotify.com/v1/audio-features/YOUR_TRACK_ID" -H "Authorization: Bearer {YOUR_Access-TOKEN}"
    

    假设音轨id是2nLtzopw4rPReszdYBJU6h:

    $.ajax({
       url: 'https://api.spotify.com/v1/audio-features/2nLtzopw4rPReszdYBJU6h',
       headers: {
           'Authorization': 'Bearer ' + 'YOUR_ACCESS_TOKEN'
       },
       success: function(response) {
           console.log(response);
       }
    });
    

    从数据库中检索数据实际上取决于你如何设计数据库以及你存储了什么样的信息,所以这应该是非常直接的。

     类似资料:
    • 我尝试在server.xml中添加一个新的docbase,以便在我的tomcat服务器中定义一个上传目录。然而,如果我将它添加到我的独立tomcat服务器上,它会像魔咒一样工作: 但是在我的本地eclipse tomcat服务器配置中它不起作用。我的发布操作是“更新上下文路径”,我在服务器选项卡中使用“工作区元数据”。 知道我哪里做错了吗?

    • 我有一个由5个服务器组成的集群用于elasticsearch,所有服务器都具有相同的elasticsearch版本。 我需要将服务器2、3、4、5的所有数据移动到服务器1。 我怎么做? 以下内容:

    • 我想我错过了一些关于如何在JavaMail中搜索的内容。 从文件夹下载空邮件 创建与结果匹配的新搜索词 使用搜索词筛选(yourFolder.search)结果 这是可行的。但是,为什么要这样做?如果我使用javamail连接到gmail之类的东西,搜索不会在服务器端执行,而且使用整个javax似乎没有任何优势。邮政搜索SearchTerm构建在提高效率或减少需要通过网络发送的数据量方面。。。 我

    • 问题内容: 我正在使用索引器将数据从我的SQL数据库同步到Azure搜索服务。我的SQL视图中有一个字段,其中包含XML数据。列包含字符串列表。集合(Edm.String)中我的Azure搜索服务索引中的对应字段。在检查一些文档时,我发现Indexer不会将Xml(SQL)更改为Collection(Azure Search)。关于如何从Xml数据创建Collection的方法,是否有任何解决方法

    • 我想通过添加order by params来扩展这个规范。 我找不到解决办法如何实施这一点。你能给我一些建议吗?

    • 环境 : Windows Eclipse Luna Service Release 2 (4.4.2) Tomcat 8 JDK 8 当我尝试使用