我想知道是否可以使用 YouToube API 从 YouTube 视频中检索艺术家和歌曲标题。我想我可以只解析标题,然后按艺术家从 API 中搜索(例如:
http://www.youtube.com/artist?a=cJmvMpoqHdQ
),但这不是最佳解决方案。 有没有更有效/合适的方法来解决这个问题?
首先,您可以使用 youtube data api 并获取歌曲的标题,例如,
// Learn the process of generating youtube data api for your project (required)
var res = await get(Uri.parse('https://www.googleapis.com/youtube/v3/videos?part=snippet&id=$your_youtube_data_api'));
var data = jsonDecode(res.body);
var songName = data['items'][0]['snippet']['title'];
您可以从此标题中获取歌手的名字。 但如果你想直接以编程方式获得歌手的名字,那么你必须使用spotify api,如下所示,
// Learn the process to get accessToken of spotify (required)
var res2 = get(Uri.parse('https://api.spotify.com/v1/search?q=$songName&type=track&access_token=$your_spotify_access_token'));
var data2 = jsonDecode(res2.body);
var artists = [];
// add as many artists as you want
artists.add(data2['tracks']['items'][0]['artists'][0]['name']);
print(artists);
但是,使用 Spotify api 需要首先授权,你必须学习这一点。
建议:如果您正在开发音乐应用程序,那么您应该使用 spotify api 而不是 youtube api。
免责声明:这个问题太老了,但是我想,必须回答它,以便有一天它可以帮助别人。
您应该能够通过传递视频 ID 来获取大部分详细信息,该 ID 可在 YouTube 网址。 在向以下网址发出请求时,您可以获得标题、艺术家等等。 只需在下面的网址中输入视频 ID,您就会收到包含所有详细信息的 JSON 响应..
(http://gdata.youtube.com/feeds/api/videos/Db9FBvpx49M?v=2&alt=json-in-script&callback=youtubeFeedCallback)