通过 Spotify API 显示来自网络响应的艺术家数据

Posted

技术标签:

【中文标题】通过 Spotify API 显示来自网络响应的艺术家数据【英文标题】:Displaying artist data from network response via Spotify API 【发布时间】:2022-01-10 20:32:06 【问题描述】:

这是我的代码。

    spotifyApi.getMyCurrentPlaybackState()
      .then((response) => 
        this.setState(
          nowPlaying:  
              name: response.item.name,
              artist: response.item.artists.name,
              albumArt: response.item.album.images[0].url
            
        );
      )

我对“艺术家:”的响应对象未显示艺术家的姓名。我该如何改变

artist: response.item.artists.name,

要显示“Key Glock”吗? 这是网络响应数据。

"item" : 
    "album" : 
      "album_type" : "album",
      "artists" : [ 
        "external_urls" : 
          "spotify" : "https://open.spotify.com/artist/0RESbWvOMyua0yuyVrztJ5"
        ,
        "href" : "https://api.spotify.com/v1/artists/0RESbWvOMyua0yuyVrztJ5",
        "id" : "0RESbWvOMyua0yuyVrztJ5",
        "name" : "Key Glock",
        "type" : "artist",
        "uri" : "spotify:artist:0RESbWvOMyua0yuyVrztJ5"
       ],
      "available_markets" : [ "AD", "AE", "AG", "AL", "AM", "AO", "AR", "AT", "AU", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BN", "BO", "BR", "BS", "BT", "BW", "BY", "BZ", "CA", "CD", "CG", "CH", "CI", "CL", "CM", "CO", "CR", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "ES", "FI", "FJ", "FM", "FR", "GA", "GB", "GD", "GE", "GH", "GM", "GN", "GQ", "GR", "GT", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IN", "IQ", "IS", "IT", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "MK", "ML", "MN", "MO", "MR", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NZ", "OM", "PA", "PE", "PG", "PH", "PK", "PL", "PS", "PT", "PW", "PY", "QA", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SE", "SG", "SI", "SK", "SL", "SM", "SN", "SR", "ST", "SV", "SZ", "TD", "TG", "TH", "TJ", "TL", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VC", "VE", "VN", "VU", "WS", "XK", "ZA", "ZM", "ZW" ],
      "external_urls" : 
        "spotify" : "https://open.spotify.com/album/7snqOEQEtKqxJw3NTGml6i"

【问题讨论】:

【参考方案1】:

artists 是一个数组,如果你在一个轨道上有两个或更多的艺术家,spotify API 可能会返回多个艺术家,我们通常会写成“Jim feat. John”。

获取第一位艺术家姓名:response.item.album.artists[0].name

要获取所有艺术家的名字:response.item.album.artists.map(curr => curr.name)

【讨论】:

谢谢本!这个答案就是解决方案:)

以上是关于通过 Spotify API 显示来自网络响应的艺术家数据的主要内容,如果未能解决你的问题,请参考以下文章

Spotify Web Api 令牌请求响应 400

通过 Spotify API 获取封面艺术

使用 API 让用户登录到 spotify

从响应 url 中提取令牌 - Spotify API

Spotify 网络 API SDK

Spotify API 发布调用 – 响应 415?