Вы были почти там: это просто опечатка.
Посмотрите на атрибут href
внутри литерала шаблона, возвращенного методом renderResult()
.
href="http//www.youtube.com/watch?v=${result.id.videoId}"
Запомните неправильно сформированную схему (http//
против https://
).
Немного контекста:
API YouTube возвращает коллекцию результатов поиска (т. Е. Массив объектов, data.items
в вашем коде), которые соответствуют параметрам запроса, указанным в запросе API.
Каждый элемент содержит объект id
со свойством videoId
. Это " буквенно-цифровой ответ ", который вы упоминаете в своем вопросе После сопоставления data.items
в массиве result
шаблонов HTML вы читаете этот идентификатор видео с ${result.id.videoId}
. Затем вы объединяете URL-адрес YouTube с идентификатором видео.
Вы должны проверить структуру JSON результатов поиска в Документах API данных YouTube . Помимо id.videoId
, он содержит больше полезной информации. Например, вы можете предпочесть показать пользователям заголовок видео, используя ${result.snippet.title}
вместо буквенно-цифрового videoId
.