我用一个使用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,则需要授权。 否则,可选。
答案 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