我正在构建一个简单的应用,用户可以分享他们与朋友一起收听的歌曲。如果用户是Spotify订户且他/她的朋友是Apple Music订阅者,并且Spotify用户正在共享该歌曲, 如何在苹果目录中搜索同一首歌?是否有任何常见ID,如Apple Music上的ISRC?或任何其他比较方法? 我知道如何使用搜索已经用于歌曲/专辑等。问题是如何确保结果是来自spotify的同一首歌。有任何想法吗? 谢谢!
答案 0 :(得分:2)
ISRC代码肯定是这里的窍门。在任一方向进行搜索的方法如下:
定位到Apple Music
curl -g -X "GET" "https://api.music.apple.com/v1/catalog/us/songs?filter[isrc]=ISRC" -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer DEVELOPER_TOKEN"
Apple Music进行Spotify
curl -X "GET" "https://api.spotify.com/v1/search?q=isrc:ISRC&type=track" -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH_TOKEN"
我在Medium上写了更多有关此的内容。祝你好运!
答案 1 :(得分:1)
MusicKit的歌曲模型根据documentation没有ISRC。 iTunes EPF有ISRC信息,但这不是MusicKit API的一部分。
答案 2 :(得分:1)
我做了一些与我的项目类似的事情,所以希望它能让你走上正轨。简而言之,您可以使用iTunes API和Spotify API来搜索相同的结果。
Python中的一个例子。
使用Spotify API获取当前播放的歌曲/艺术家。搜索您想要的信息的回复,在我的情况下,它是艺术家姓名和专辑名称。
results = sp.currently_playing()
artist = results["item"]["album"]["artists"][0]["name"]
album = results["item"]["album"]["name"]
使用iTunes API查找。
i_artist = itunes.search_album(album, artist)[0]
您必须了解API的工作原理。使用iTunes,搜索会生成结果列表。我抓住机会,抓住第一个(最受欢迎的)。但你当然可以通过它们进行过滤,以确保它符合你的要求。你很明显会遇到像拥有相同专辑标题的艺术家,甚至是同名的人。
看起来您的目标平台是iOS,但我的代码应该是一个起点。只需将信息从一个平台保存到变量中,然后再搜索下一个变量即可。
希望我能正确理解您的问题,如果需要,我可以扩展或提供更多代码。