2013-10-13 2 views
2

Это очень простой вопрос начального, но я проверил основной сайт API (https://developers.google.com/youtube/v3/) довольно тщательно и беспорядочно испортил, в то время как с образцом кода использовал Google, чтобы найти другие рабочие примеры, и я ничего не придумал, поэтому я решил спросить здесь.Проблемы с подключением к API данных YouTube v3 с использованием клиентской библиотеки Java - пример кода устарел?

Моя цель - написать простую программу Java, которая подключается к учетной записи YouTube и извлекает имена и содержимое плейлистов пользователя, а затем, возможно, сохраняет их в текстовом файле или w/e.

Я не нашел много на сайте, чтобы точно объяснить, какие шаги связаны с правильным подключением к учетной записи YouTube через Java, поэтому я попробовал запустить образец кода. Если я беру это, например: https://developers.google.com/youtube/v3/code_samples/java#retrieve_my_uploads и вставить его в Eclipse, он говорит мне следующее:

  • типа «FileCredentialStore» устарела.
  • На следующей методике:

    GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY,MyUploads.class.getResourceAsStream("/client_secrets.json"));

Он говорит мне: «Метод загрузки (JsonFactory, Reader) в GoogleClientSecrets типа не применяется для аргументов (JsonFactory, InputStream) «

Немного Google Googling привел меня куда-нибудь, что предположило, что метод, используемый в примере, который использует InputStream, был устаревшим, а позже удаленным в 1.16, я считаю.

  • Позже следующее сообщение об ошибке:

    channelRequest.setMine("true");

Если строка "истинно", должно быть логическое значение верно. Опять же, я предполагаю, что предыдущая версия этого метода была устаревшей.

Я пробовал общаться с ним, пытаясь объединить вещи вместе с Google, но он не работал вообще. Код кажется устаревшим и не работает с последней версией API, и большинство кода, которое я могу найти в Интернете, кажется старым. Я не знаю достаточно о том, что я делаю, и я не могу найти документацию, в которой излагаются, какие шаги необходимы, почему и как они работают. Например, я не могу понять, для чего предназначен client_secrets.json и как он должен быть настроен, помимо того, что он является частью проверки подлинности. Если сайт API объяснил это полностью, я не смог найти, где.

Кто-нибудь знает сайт с некоторым рабочим обновленным примером кода, который выполняет некоторое простое соединение и извлечение данных? Или правильное пошаговое руководство, в котором объясняется, как подключиться? Я бы подумал, что что-то вроде API YouTube будет простым и хорошо документированным, но я просто не могу обойти его, если я не пропустил что-то важное, но у меня нет идей.

ответ

4

Google API говорит: Метод загрузки с InputStream устарел. (планируется удалить в 1.16) Вместо этого используйте load (JsonFactory, Reader).Source

Таким образом конвертировать InputStream для чтения и проблема решена

private static GoogleClientSecrets loadClientSecrets(String clientSecretsLocation) { 
     try { 
      Reader reader = new InputStreamReader(BigQueryJavaGettingStarted.class.getResourceAsStream(clientSecretsLocation)); 
      GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(new JacksonFactory(), 
        reader); 
     } catch (Exception e) { 
      System.out.println("Could not load client_secrets.json"); 
      e.printStackTrace(); 
     } 
     return clientSecrets; 
     } 
Смежные вопросы