Как динамически передать параметр в методе get in? - PullRequest
0 голосов
/ 09 мая 2019

На вкладке сети я отправляю запрос 'https://api.spotify.com/v1/search?limit=14&market=US&offset=5&q=abba&type=track,artist'

Не работает: как задать запрос в таком порядке: https://api.spotify.com/v1/search?q=mmm&type=track%2Cartist&market=US&limit=10&o

' q 'должно быть после поиска?

 getArtists(query) {
   const params = {
        type: 'track,artist',
        market: 'US',
        limit: 14,
        offset: 5
    };

    if (typeof query === 'string') {
        params.q = query;
    }

    console.log(params) 

    return this.$http.get("https://api.spotify.com/v1/search", { 
params }).then(function mySuccess(response) {
        console.log(response.data);
    }, function myError(response) {
        console.log(response);
    });
  };

getArtists('Abba');

Ответы [ 2 ]

2 голосов
/ 09 мая 2019

Я вижу ошибку авторизации при попытке вашего apis.

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

Вы должны предоставить токен авторизации в заголовке, чтобы исправить это.

getArtists(query) {
let params = {
    q: query,
    type: 'track,artist',
    market: 'US',
    limit: 14,
    offset: 5
};

if (typeof query !== 'string') {
    delete params.q;
}

console.log(params) 

return this.$http.get("https://api.spotify.com/v1/search", {headers: {
'Authorization': 'Bearer <AUTHORIZATION TOKEN>}, 
params }).then(function mySuccess(response) {
    console.log(response.data);
}, function myError(response) {
    console.log(response);
});
};

Если вы этого не сделаетеесть еще, проверить процесс здесь: https://developer.spotify.com/documentation/general/guides/authorization-guide/

0 голосов
/ 09 мая 2019

Попробуйте это

getArtists(query) {
   let params = {
        q: query,
        type: 'track,artist',
        market: 'US',
        limit: 14,
        offset: 5
    };

    if (typeof query !== 'string') {
        delete params.q;
    }

    console.log(params) 

    return this.$http.get("https://api.spotify.com/v1/search", { 
params }).then(function mySuccess(response) {
        console.log(response.data);
    }, function myError(response) {
        console.log(response);
    });
  };
...