第一次使用 Spotify 的 API 进行 POST 请求

Posted

技术标签:

【中文标题】第一次使用 Spotify 的 API 进行 POST 请求【英文标题】:First time doing POST request with Spotify's API 【发布时间】:2022-01-12 21:38:52 【问题描述】:

我正在尝试制作一个“创建播放列表”按钮。我了解我必须发出发布请求,并且需要令牌才能发送请求。我已经在我的应用程序中设置了令牌授权和其他功能(当前播放状态、显示播放列表),但我一直收到一个错误提示


  "error": 
    "status": 401,
    "message": "No token provided"
  

在我的代码中:

componentDidMount() 
    const requestOptions = 
        method: 'POST',
        header:  
                   'Content-Type': 'application/json',
                   'Authorization': 'Bearer' + 'token'
                   
         ,

        body: JSON.stringify( title: 'CreatePlaylistTest' )
    ;
    fetch('https://api.spotify.com/v1/users/12141627583/playlists', requestOptions)
        .then(response => response.json())
        .then(data => this.setState( postId: data.id ));

我在上面的代码中定义了令牌:

import React,  Component  from 'react';
import './App.css';

import SpotifyWebApi from 'spotify-web-api-js';
const spotifyApi = new SpotifyWebApi();

class App extends Component 
  constructor()
    super();
    const params = this.getHashParams();
    const token = params.access_token;
    if (token) 
      spotifyApi.setAccessToken(token);
    
    this.state = 
      loggedIn: token ? true : false,
      nowPlaying:  name: 'Not Checked', albumArt: '' ,
      myPlaylists:  playlists: '' 
    
  

我的问题是

    我是否正确使用令牌? https://developer.spotify.com/documentation/web-api/reference/#/operations/create-playlist

    我是否走在制作“创建播放列表”功能的正确轨道上?

【问题讨论】:

【参考方案1】:

看起来在您的componentDidMount() 函数中,您传递的是字符串'token',而不是构造函数中定义的实际变量token

【讨论】:

我将header 更改为headers'token' 更改为token。现在我有一个新错误,指出“无效的访问令牌”。

以上是关于第一次使用 Spotify 的 API 进行 POST 请求的主要内容,如果未能解决你的问题,请参考以下文章

在使用 spotify api 进行用户身份验证后管理 spotify 订阅(取消、升级)

使用 spotify 音频功能 api 上传 MP3 文件进行分析

无法使用 Spotify API 进行授权

使用 Spotify API 进行授权

使用 Spotify API 进行网页抓取

使用 Python 进行 Spotify API 身份验证