Я пытаюсь разработать часть своего приложения, в которой я хочу получить информацию о видео по ключевому слову. Я использую API списка поиска. Я думаю, что у меня есть проблема с авторизацией. Я получаю 401. Я попытался передать свои данные авторизации.
Я попробовал следующий код, пройдя через несколько ресурсов в сети, и сейчас получаю исключение java.io.FileNotFoundException в строке, в которой я получаю поток ввода. Код подключения, который я получаю - 401.
Данный код находится в doInBackground AsyncTask.
String ytres="";
URL url;
HttpURLConnection urlConnection = null;
try {
Log.d("youtubedata","a1");
url = new URL("https://www.googleapis.com/youtube/v3/search?part=id&q=queen%20bohemian");
Log.d("youtubedata","a2");
Log.d("youtubedata","a");
urlConnection = (HttpURLConnection) url
.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setRequestProperty ("Authorization", "Bearer MYAPIKEY");
urlConnection.setRequestProperty ("Accept", "application/json");
Log.d("youtubedatanum",Integer.toString(urlConnection.getResponseCode()));
InputStream in = urlConnection.getInputStream();
InputStreamReader isw = new InputStreamReader(in);
int data = isw.read();
while (data != -1) {
char current = (char) data;
data = isw.read();
ytres=ytres+current;
System.out.print(current);
}
Log.d("youtubedata",ytres);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
}
return ytres;
Я подозреваю, что проблема в том, как я передал свой ключ API.