sách gpt4 ai đã đi

youtube - 给定视频网址,如何从 Youtube API 获取 Youtube 视频 ID?

In lại 作者:行者123 更新时间:2023-12-03 05:18:13 27 4
mua khóa gpt4 Nike

我有一个页面,用户可以在其中粘贴 Youtube 视频 url,然后我需要提取视频的 ID 以获取视频的缩略图。困难的部分是获得一种从视频 url 中提取视频 ID 的可靠方法。这里有许多正则表达式解决方案,但对我来说,这些解决方案都不是 100% 可靠的。这里有一些:

  • JavaScript REGEX: How do I get the YouTube video id from a URL?
  • Youtube API - Extract video ID

  • 这就像一场关于谁拥有更长正则表达式的比赛。我觉得正确的方法是从 Youtube 的 api 中获取此信息,但查看它,似乎此选项不可用:

    https://developers.google.com/apis-explorer/#p/youtube/v3/

    如您所见,一切都基于视频 ID。我觉得我需要实际的视频 ID 来获取有关视频的任何信息是荒谬的,因为现实世界中的用户甚至都不知道视频 ID 是什么。 Vimeo 在其 API 中内置了此功能。下面是一个例子:

    https://vimeo.com/api/oembed.json?url=https://vimeo.com/29474908

    有没有人有一个不涉及一些正则表达式的解决方案?

    1 Câu trả lời

    做一个 search with the API适用于不同的 YouTube URL 类型。 URL 作为查询项 chuyển khoảnq .

    https://www.googleapis.com/youtube/v3/search/?key=&part=snippet&q=youtu.be/M7lc1UVf-VE

    也许某些情况可能会导致多个项目,但正常的搜索结果只是一个匹配项:

    {
    kind: "youtube#searchListResponse",
    etag: ""m2yskBQFythfE4irbTIeOgYYfBU/j2Px-5q--mgJEsrfjg4L0Mgn_L8"",
    regionCode: "ES",
    pageInfo: {
    totalResults: 1,
    resultsPerPage: 5
    },
    items: [
    {
    kind: "youtube#searchResult",
    etag: ""m2yskBQFythfE4irbTIeOgYYfBU/_1gFVi_i_djlS4OZWPGtcZ3iSLQ"",
    id: {
    kind: "youtube#video",
    videoId: "M7lc1UVf-VE"
    },
    snippet: {
    publishedAt: "2013-04-10T17:25:04.000Z",
    channelId: "UC_x5XG1OV2P6uZZ5FSM9Ttw",
    title: "YouTube Developers Live: Embedded Web Player Customization",
    description: "On this week's show, Jeff Posnick covers everything you need to know about using player parameters to customize the YouTube iframe-embedded player.",
    thumbnails: {
    default: {
    url: "../../../vi/M7lc1UVf-VE/default.jpg",
    width: 120,
    height: 90
    },
    medium: {
    url: "../../../vi/M7lc1UVf-VE/mqdefault.jpg",
    width: 320,
    height: 180
    },
    high: {
    url: "../../../vi/M7lc1UVf-VE/hqdefault.jpg",
    width: 480,
    height: 360
    }
    },
    channelTitle: "Google Developers",
    liveBroadcastContent: "none"
    }
    }
    ]
    }

    我测试了来自 this answer 的一些 URL 变体大多数工作:

    var urls = [
    '//www.youtube-nocookie.com/embed/M7lc1UVf-VE?rel=0',
    'https://www.youtube.com/watch?v=M7lc1UVf-VE&feature=channel',
    'https://www.youtube.com/watch?v=M7lc1UVf-VE&playnext_from=TL&videos=osPknwzXEas&feature=sub',
    'https://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I', // <---- invalid
    'https://youtu.be/M7lc1UVf-VE',
    'https://www.youtube.com/watch?v=M7lc1UVf-VE&feature=youtu.be',
    'https://youtu.be/M7lc1UVf-VE',
    'https://www.youtube.com/watch?v=M7lc1UVf-VE&feature=channel',
    'https://www.youtube.com/watch?v=M7lc1UVf-VE&playnext_from=TL&videos=osPknwzXEas&feature=sub',
    'https://www.youtube.com/ytscreeningroom?v=M7lc1UVf-VE', // <---- invalid
    'https://www.youtube.com/embed/M7lc1UVf-VE?rel=0',
    'https://www.youtube.com/watch?v=M7lc1UVf-VE',
    'https://youtube.com/v/M7lc1UVf-VE?feature=youtube_gdata_player',
    'https://youtube.com/vi/M7lc1UVf-VE?feature=youtube_gdata_player', // <---- invalid
    'https://youtube.com/?v=M7lc1UVf-VE&feature=youtube_gdata_player',
    'https://www.youtube.com/watch?v=M7lc1UVf-VE&feature=youtube_gdata_player',
    'https://youtube.com/?vi=M7lc1UVf-VE&feature=youtube_gdata_player', // <---- invalid
    'https://youtube.com/watch?v=M7lc1UVf-VE&feature=youtube_gdata_player',
    'https://youtube.com/watch?vi=M7lc1UVf-VE&feature=youtube_gdata_player',
    'https://youtu.be/M7lc1UVf-VE?feature=youtube_gdata_player'
    ];

    var my_key = '';

    function getUri(uri){
    $.get('https://www.googleapis.com/youtube/v3/search/?key='+my_key+'&part=snippet&q='+uri, function(data) {
    if(data.items.length !== 0)
    console.log(data.items[0].snippet.publishedAt);
    khác
    console.warn('no items for',uri)
    });
    }

    for (i = 0; i < urls.length; ++i) {
    getUri(urls[i]);
    }

    关于youtube - 给定视频网址,如何从 Youtube API 获取 Youtube 视频 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43897180/

    27 4 0
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com