【问题标题】:How to get livestream tiny URL with YouTube Data API v3如何使用 YouTube Data API v3 获取直播小 URL
【发布时间】:2021-01-15 04:08:06
【问题描述】:

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 数据 API v3)来获取直播小 URL(类似于 https://youtu.be/OHi8m4o8XeQ),以便我可以将我的直播分享给我的观众?

我从 YouTube Data API v3 获得了一个流密钥/名称(20 个字符的字母数字密钥,中间有四个 -),我将使用它来流式传输到 YouTube。

我正在添加一张截图以供参考。我想要右上角的小网址(类似于https://youtu.be/someid)。

【问题讨论】:

  • 欢迎来到 Stackoverflow!请花时间吸收SO's recommendations 发给新用户的内容。之后,edit您的帖子,添加相关的缺失信息(没有这些信息,其他 SO 用户无法获得您的帮助)。
  • @stvar 我添加了一张图片以供参考。回答有帮助吗?
  • @stvar 我已经编辑了我的问题。请找到我用于获取流密钥的代码。我只是问有没有办法获得直播小网址(与我的观众分享)。
  • 你的直播bound to是广播吗?
  • @stvar 不,不是

标签: youtube-api youtube-data-api youtube-livestreaming-api tinyurl


【解决方案1】:

是的,获取您的频道网址并添加/live

【讨论】:

  • 我想获得像我在问题中提到的那样的小网址(类似于youtu.be/SomeAlphanumericId)。有没有办法使用 youtube data api v3 获得它?到目前为止,我通过 youtube data api v3 获得了直播的名称/密钥。
【解决方案2】:

YouTube 与给定视频关联的缩短 URL(由其 ID VIDEO_ID 标识)的格式为:

https://youtu.be/VIDEO_ID,

VIDEO_ID 遵循以下正则表达式模式的位置(通常,尽管没有正式记录):

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

在直播的情况下,为了能够共享您创建的一个此类流的缩短 URL,您应该获取与该流关联的视频 ID

该视频 ID 将作为 LiveBroadcasts 资源的属性 id 的值找到,该资源 is bound to 您的直播。

【讨论】:

    猜你喜欢
    • 2017-11-01
    • 2016-09-23
    • 2016-09-28
    • 2015-10-12
    • 1970-01-01
    • 2015-12-01
    • 2014-06-05
    • 2021-05-19
    • 2016-07-22
    相关资源
    最近更新 更多