Spotify веб API с java - PullRequest
       5

Spotify веб API с java

0 голосов
/ 21 января 2020

Я хочу сделать некоторые поиски в базе данных spotify только с целью изучения приложения отдыха. Я застрял в первой точке https://developer.spotify.com/documentation/general/guides/authorization-guide/ Поток кода авторизации для входа в спойти с приложением java:

package spotify;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

/*
    1) https://developer.spotify.com/dashboard/applications
*/

public class SpotifyMain {

    static final String CLIENTID = "blablablablablablablabla";
    static final String CLIENTSECRET = "blablablablablablablabla";
    static final String REDIRECTURL = "https://github.com/blablablablablablablabla"; //whiltelisted set inside spotify

    public static void main(String[] args) {
        try {
            String url_auth = 
            "https://accounts.spotify.com/authorize?"
            + "client_id="+CLIENTID+"&"
            + "response_type=code&"
            + "redirect_uri="+REDIRECTURL+"&"
            + "scope=user-read-private%20user-read-email&"
            + "state=34fFs29kd09";

            System.out.println(url_auth);

            URL url = new URL(url_auth);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Accept", "application/json");

            if (conn.getResponseCode() != 200) {
                throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
            }

            BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));

            String output;
            System.out.println("Output from Server .... \n");
            while ((output = br.readLine()) != null) {
                System.out.println(output);
            }
            conn.disconnect();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

Я получаю ошибку 406. Я думаю, что URL правильно, потому что, если я добавлю этот URL в браузер, он правильно отобразит, что приложение хочет получить доступ к некоторым ресурсам. Если я вставлю этот URL в почтальон, ошибка изменится на 400 неверных запросов ... Я что-то упустил? спасибо

1 Ответ

0 голосов
/ 21 января 2020

Попробуйте удалить эту строку:

conn.setRequestProperty("Accept", "application/json");

HTTP 406 Ошибка «Не приемлемо» означает, что сервер сгенерировал ответ, который он не может вернуть в качестве запрошенного типа содержимого «Принять».

...