Учетные данные API данных YouTube не работают при использовании API данных YouTube

#youtube-data-api

#youtube-data-api

Вопрос:

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

Я создал новые учетные данные, но теперь они не работают, и я не могу найти решение. Клиент авторизуется с помощью OAuth, затем запускает YouTube Youtube.Search.list

 try{
                youtube = getYouTubeService(XXXXXX);
            }catch(NullPointerException e){
                throw new BasicException("You must connect this system to YouTube before you can load videos.  You may do this in Settings.");
            }

HashMap<String, String> parameters = new HashMap<String,String>();
parameters.clear();
            parameters.put("part", "id,snippet");
            parameters.put("forMine", "true");

            parameters.put("type", "video");
            parameters.put("maxResults", "50");

            YouTube.Search.List searchListMineRequest = youtube.search().list(parameters.get("part").toString());
            if (parameters.containsKey("maxResults")) {
                searchListMineRequest.setMaxResults(Long.parseLong(parameters.get("maxResults").toString()));
            }
 if (parameters.containsKey("forMine") amp;amp; parameters.get("forMine") != "") {
                boolean forMine = (parameters.get("forMine") == "true") ? true : false;
                searchListMineRequest.setForMine(forMine);
            }
if (parameters.containsKey("type") amp;amp; parameters.get("type") != "") {
                searchListMineRequest.setType(parameters.get("type").toString());
            }

            SearchListResponse response = searchListMineRequest.execute();
  

Проблема возникает из-за команды execute. Пользователь подключается с помощью OAuth в другой части программы, и токен обновления сохраняется для использования с приведенным выше кодом. Я новичок в api Google, поэтому извините, если я неправильно понимаю какой-то код. Я получаю ошибку 403. Однако, поскольку код работал до того, как учетные данные были отменены, я делаю вывод, что проблема связана с новыми учетными данными.

Я получаю следующее сообщение об ошибке:

 com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "usageLimits",
    "message" : "Access Not Configured. YouTube Data API has not been used in project XXXXXXXXXX before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=XXXXXXXXXX then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
    "reason" : "accessNotConfigured",
    "extendedHelp" : "https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=XXXXXXXXXXXXX"
  } ],
  "message" : "Access Not Configured. YouTube Data API has not been used in project X before or it is disabled. Enable it by visiting.......
}
  

Ответ №1:

Я нашел решение. Как только срок действия учетных данных проекта достиг 90 дней, мой проект Google Console перестал функционировать. Некоторые вещи будут работать, другие нет. Мне пришлось полностью удалить проект, снова подключить API данных youtube и выдать новые учетные данные. Это решило проблему.