Как получить крошечный URL-адрес прямой трансляции с помощью YouTube Data API v3

function authenticate() {
    return gapi.auth2.getAuthInstance()
        .signIn({scope: "https://www.googleapis.com/auth/youtube.readonly"})
        .then(function() { console.log("Sign-in successful"); },
              function(err) { console.error("Error signing in", err); });
  }
  function loadClient() {
    gapi.client.setApiKey("YOUR_API_KEY");
    return gapi.client.load("https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest")
        .then(function() { console.log("GAPI client loaded for API"); },
              function(err) { console.error("Error loading GAPI client for API", err); });
  }
  // Make sure the client is loaded and sign-in is complete before calling this method.
  function execute() {
    return gapi.client.youtube.liveStreams.list({
      "part": [
        "snippet,cdn,contentDetails,status"
        //"cdn"
      ],
      "mine": true
    })
        .then(function(response) {
                // Handle the results here (response.result has the parsed body).
                console.log("Response", response);
                
                var responseData = JSON.stringify(response);
                alert(responseData);
                
                //alert(response.result.items);
                
                var itemsArr = response.result.items;
                var itemObj = itemsArr[0];
                alert('streamName = ' + itemObj.cdn.ingestionInfo.streamName);
                
                //alert(responseData.result);
                //var result = responseData.result;
                
              },
              function(err) { console.error("Execute error", err); });
  }
  gapi.load("client:auth2", function() {
    gapi.auth2.init({client_id: "YOUR_CLIENT_ID"});
  });
<script src="https://apis.google.com/js/api.js"></script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>

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

Есть ли способ (с YouTube Data API v3) получить крошечный URL-адрес прямой трансляции (что-то вроде https://youtu.be/OHi8m4o8XeQ), чтобы я мог поделиться своей прямой трансляцией со своей аудиторией?

У меня есть ключ/имя потока (20-символьный буквенно-цифровой ключ с четырьмя - между ними) из YouTube Data API v3, который я буду использовать для потоковой передачи на YouTube.

Я добавляю один скриншот для справки. Мне нужен крошечный URL-адрес (что-то вроде https://youtu.be/someid) в правом верхнем углу.

пожалуйста, найдите изображение здесь


person eucalypto    schedule 29.09.2020    source источник
comment
Добро пожаловать в Stackoverflow! Пожалуйста, найдите время, чтобы изучить рекомендации SO, адресованные новым пользователям. После этого отредактируйте свой пост, добавив в него соответствующую недостающую информацию (без которой другие пользователи SO не смогут прийти вам на помощь).   -  person stvar    schedule 29.09.2020
comment
@stvar я добавил изображение для справки. Поможет ли ответ?   -  person eucalypto    schedule 30.09.2020
comment
@stvar Я отредактировал свой вопрос. Пожалуйста, найдите код, который я использовал для получения ключа потока. Я просто спрашиваю, есть ли способ получить крошечный URL-адрес прямой трансляции (чтобы поделиться с моей аудиторией).   -  person eucalypto    schedule 30.09.2020
comment
Ваша трансляция привязана к трансляции?   -  person stvar    schedule 30.09.2020
comment
@stvar Нет, это не так   -  person eucalypto    schedule 30.09.2020
comment
Затем свяжите его и найдите свойство < a href="https://developers.google.com/youtube/v3/live/docs/liveBroadcasts#id" rel="nofollow noreferrer">id.   -  person stvar    schedule 30.09.2020
comment
@stvar, начиная с вашего последнего комментария, я следовал инструкциям по ссылке. Я создал прямую трансляцию, затем создал прямую трансляцию, а затем вызвал liveBroadcasts.bind, передав эти два идентификатора (полученные выше). Но как насчет крошечного URL сейчас? Думаю, это похоже на youtu.be/[livebroadcastId]   -  person eucalypto    schedule 01.10.2020
comment
Свойство id должно быть вашим общедоступным идентификатором видео (если вы сделали свою трансляцию общедоступной). Затем вы можете поделиться этим идентификатором либо сам по себе, либо в виде стандартного URL-адреса https://www.youtube.com/watch?v=VIDEO_ID, либо в сокращенной форме https://youtu.be/VIDEO_ID.   -  person stvar    schedule 01.10.2020
comment
Обычно идентификатор видео имеет форму ^[0-9a-zA-Z_-]{11}$. Соответствует ли ваш широковещательный идентификатор этому шаблону регулярного выражения?   -  person stvar    schedule 01.10.2020
comment
Да, у меня есть значение из 11 символов (состоит из строчных и заглавных букв, без цифр) в ключе id, когда я вызываю liveBroadcasts.insert. Я думаю, вы говорите мне рассматривать этот идентификатор как BroadId / VideoId. и я должен использовать этот идентификатор для создания URL-адреса.   -  person eucalypto    schedule 01.10.2020


Ответы (2)


Да, возьмите URL своего канала и добавьте /live .

person JITZEH    schedule 29.09.2020
comment
Я хочу получить крошечный URL-адрес, подобный тому, который я упомянул в своем вопросе (что-то вроде youtu.be/SomeAlphanumericId). Есть ли способ получить его с помощью youtube data api v3? До сих пор у меня есть имя/ключ прямой трансляции через youtube data api v3. - person eucalypto; 30.09.2020

Сокращенный URL-адрес YouTube, связанный с данным видео, идентифицируемый его идентификатором VIDEO_ID, имеет форму:

https://youtu.be/VIDEO_ID,

где (обычно, хотя официально это не задокументировано) VIDEO_ID подчиняется следующему шаблону регулярного выражения:

^[0-9a-zA-Z_-]{11}$.

В случае потокового вещания, чтобы иметь возможность поделиться сокращенным URL-адресом одного из созданных вами потоков, вы должны получить идентификатор видео, связанный с этим потоком.

Этот идентификатор видео можно найти как значение свойства id ресурса LiveBroadcasts, который привязан к вашей прямой трансляции.

person stvar    schedule 01.10.2020