Учетные данные API данных YouTube не работают при использовании API данных YouTube - PullRequest
1 голос
/ 01 апреля 2019

Я использовал 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") && parameters.get("forMine") != "") {
                boolean forMine = (parameters.get("forMine") == "true") ? true : false;
                searchListMineRequest.setForMine(forMine);
            }
if (parameters.containsKey("type") && 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 Ответ

0 голосов
/ 09 апреля 2019

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

...