“415 Error” when querying Spotify for tokens

2019-01-27 22:11发布

I've been trying to recreate the spotify oauth connection in MeteorJS. I've gotten as far as requesting the access and refresh tokens, but I keep getting a 415 error now. Here is the relevant code:

 var results = HTTP.post(
                'https://accounts.spotify.com/api/token',
                {
                    data: {
                        code: code,
                        redirect_uri: redirectURI,
                        grant_type: 'authorization_code',
                        client_id: clientID,
                        client_secret: clientSecret
                    },
                    headers: {
                        'Content-Type':'application/json'
                    }
                }
            );

I can't seem to find any other good documentation of the problem and the code in this demo:

https://github.com/spotify/web-api-auth-examples/tree/master/authorization_code

works perfectly.

3条回答
迷人小祖宗
2楼-- · 2019-01-27 22:42

If youre doing this clientside its not working because you're not allowed to post to another domain from the client side because of the same origin policy.

If this is server-side I'd recommend using a pre-existing spotify api npm module instead of writing your own requests. There are plenty of spotify api implementations on npmjs.org.

Use arunoda's npm package for integrating npm packages in your meteor application

查看更多
唯我独甜
3楼-- · 2019-01-27 22:44

You need to use params instead of data when sending the JSON object. Related question: Unsupported grant type error when requesting access_token on Spotify API with Meteor HTTP

查看更多
Lonely孤独者°
4楼-- · 2019-01-27 22:49

I had a similar problem (but in Java). The analogous solution was

                    headers: {
                        'Content-Type':'application/x-www-form-urlencoded'
                    }
查看更多
登录 后发表回答