Spotify公共搜索API

时间:2018-05-17 14:36:58

标签: api spotify

我用一个使用Spotify API搜索艺术家/曲目的应用。 请求很简单, 例如,带有此URL的获取请求 -

https://api.spotify.com/v1/search?query=bob&type=artist&market=us&limit=50&offset=0

现在似乎我需要在标头中发送一个令牌,并且为了获得令牌,我需要将最终用户连接(或注册)到Spotify。

API流程是否发生了变化?

我不再能够进行简单的公共API调用来搜索曲目或艺术家了吗?

另外,我在Spotify文档中看到,如果在查询字符串中提供了market = from_token,则需要授权。 否则,可选。

2 个答案:

答案 0 :(得分:0)

对Spotify API的所有请求都必须提供访问令牌。但是,令牌不需要附加到用户,您可以使用Client Credentials Flow代表您的oauth客户端生成访问令牌,而不是让用户参与。

您能否告诉我您在哪里看到标记为可选的授权标头?我想解决这个问题。

最佳,

Spotify开发人员支持

答案 1 :(得分:0)

我知道回答这个问题为时已晚。 是的,您需要获取access_token并将其与搜索网址一起传递以获取结果。尝试按以下方式获取Spotify access_token,

func callToken() {
        let parameters = ["client_id" : "your client id",// u get in developer account in Spotify.
                          "client_secret" : "ur secret id",
                          "grant_type" : "client_credentials"]
        Alamofire.request("https://accounts.spotify.com/api/token", method: .post, parameters: parameters).responseJSON(completionHandler: {
            response in
            print(response)
            print(response.result)
            print(response.result.value)
            if let result = response.result.value {
                let jsonData = result as! NSDictionary
                let token = jsonData.value(forKey: "access_token") as? String
                print(token!)
              }
    })
    }  

然后保存该令牌并像

那样输入您的搜索网址
search url = "https://api.spotify.com/v1/search?q=Linkin+Park&type=track&limit=5&access_token=\(token)"    // pass the token in this string thats it..

只需浏览youtube上的在线教程:-https://www.youtube.com/watch?v=KLsP7oThgHU&t=1s即可获得2019年的最新版本。

使用Spotify集成+搜索选项+默认Spotify网址下载完整的源代码,并获取当前用户的播放列表,然后在我们的本机iOS应用程序源中播放:-https://github.com/azeemohd786/Spotify-Demo