没有API密钥的API v3的Youtube视频标题?

sam*_*sam 16 youtube youtube-api youtube-data-api

是否可以在没有 API密钥的情况下使用带有API v3的视频ID获取视频标题?我在API文档中找不到任何获取标题的信息或示例.

rsp*_*rsp 23

不需要API密钥

要获得视频标题,你将不是需要一个API密钥,你需要做一个请求:

https://noembed.com/embed?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ

更改所需视频的YouTube网址.

它还适用于Vimeo和许多其他支持的网站,如:

https://noembed.com/embed?url=https://vimeo.com/45196609

细节

如果您直接使用API​​,则无法在没有API密钥的情况下使用带有API v3的视频ID获取视频标题.YouTube数据API v2已弃用(请参阅:YouTube Data API v2弃用:常见问题解答),目前YouTube API不支持使用JSONP进行oEmbed(请参阅问题4329:针对JSONP的oEmbed回调).

但幸运的是,Noembed服务允许您使用JSONP获取YouTube视频的标题(和其他数据),而无需API密钥.

演示

这是一个用jQuery获取标题的简单演示:

var id = 'dQw4w9WgXcQ';
var url = 'https://www.youtube.com/watch?v=' + id;

$.getJSON('https://noembed.com/embed',
    {format: 'json', url: url}, function (data) {
    alert(data.title);
});
Run Code Online (Sandbox Code Playgroud)

请参阅JS Bin上的DEMO.

另见这些问题:


NVR*_*VRM 19

这正是oEmbed协议的含义。

oEmbed 是一种允许在第三方站点上嵌入 URL 表示的格式。当用户发布指向该资源的链接时,简单的 API 允许网站显示嵌入的内容(例如照片或视频),而无需直接解析资源。

该文档存储在GitHub 上

有关格式的更多信息,请访问:https : //oembed.com

https://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3DM3r2XDceM6A&format=json
Run Code Online (Sandbox Code Playgroud)

示例输出:

{
    "version": "1.0",
    "type": "video",
    "provider_name": "YouTube",
    "provider_url": "http://youtube.com/",
    "width": 425,
    "height": 344,
    "title": "Amazing Nintendo Facts",
    "author_name": "ZackScott",
    "author_url": "http://www.youtube.com/user/ZackScott",
    "html":
        "<object width=\"425\" height=\"344\">
            <param name=\"movie\" value=\"http://www.youtube.com/v/M3r2XDceM6A&fs=1\"></param>
            <param name=\"allowFullScreen\" value=\"true\"></param>
            <param name=\"allowscriptaccess\" value=\"always\"></param>
            <embed src=\"http://www.youtube.com/v/M3r2XDceM6A&fs=1\"
                type=\"application/x-shockwave-flash\" width=\"425\" height=\"344\"
                allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed>
        </object>",
}
Run Code Online (Sandbox Code Playgroud)

以下是声明遵守该格式的内容提供者列表:

    "provider_name": "23HQ",
    "provider_name": "Adways",
    "provider_name": "Alpha App Net",
    "provider_name": "amCharts Live Editor",
    "provider_name": "Animatron",
    "provider_name": "Animoto",
    "provider_name": "Audiomack",
    "provider_name": "AudioSnaps",
    "provider_name": "Blackfire.io",
    "provider_name": "Box Office Buz",
    "provider_name": "Buttondown",
    "provider_name": "Cacoo",
    "provider_name": "Carbon Health",
    "provider_name": "CatBoat",
    "provider_name": "ChartBlocks",
    "provider_name": "chirbit.com",
    "provider_name": "CircuitLab",
    "provider_name": "Clipland",
    "provider_name": "Clyp",
    "provider_name": "Codepen",
    "provider_name": "Codepoints",
    "provider_name": "CodeSandbox",
    "provider_name": "CollegeHumor",
    "provider_name": "Commaful",
    "provider_name": "Coub",
    "provider_name": "Crowd Ranking",
    "provider_name": "Cyrano Systems",
    "provider_name": "Daily Mile",
    "provider_name": "Dailymotion",
    "provider_name": "Deviantart.com",
    "provider_name": "Didacte",
    "provider_name": "Dipity",
    "provider_name": "DocDroid",
    "provider_name": "Docs",
    "provider_name": "Dotsub",
    "provider_name": "edocr",
    "provider_name": "eduMedia",
    "provider_name": "EgliseInfo",
    "provider_name": "Embed Articles",
    "provider_name": "Embedly",
    "provider_name": "Ethfiddle",
    "provider_name": "Eyrie",
    "provider_name": "Facebook (Video)",
    "provider_name": "Flat",
    "provider_name": "Flickr",
    "provider_name": "FOX SPORTS Australia",
    "provider_name": "FrameBuzz",
    "provider_name": "FunnyOrDie",
    "provider_name": "Geograph Britain and Ireland",
    "provider_name": "Geograph Channel Islands",
    "provider_name": "Geograph Germany",
    "provider_name": "Getty Images",
    "provider_name": "Gfycat",
    "provider_name": "GIPHY",
    "provider_name": "Gyazo",
    "provider_name": "HuffDuffer",
    "provider_name": "Hulu",
    "provider_name": "iFixit",
    "provider_name": "IFTTT",
    "provider_name": "Indaco",
    "provider_name": "Infogram",
    "provider_name": "Inoreader",
    "provider_name": "inphood",
    "provider_name": "Instagram",
    "provider_name": "iSnare Articles",
    "provider_name": "ivlismusic",
    "provider_name": "Kickstarter",
    "provider_name": "Kidoju",
    "provider_name": "Kit",
    "provider_name": "Kitchenbowl",
    "provider_name": "Knacki",
    "provider_name": "LearningApps.org",
    "provider_name": "Ludus",
    "provider_name": "MathEmbed",
    "provider_name": "me.me",
    "provider_name": "Meetup",
    "provider_name": "MixCloud",
    "provider_name": "Moby Picture",
    "provider_name": "Modelo",
    "provider_name": "myBeweeg",
    "provider_name": "nanoo.tv",
    "provider_name": "nfb.ca",
    "provider_name": "Odds.com.au",
    "provider_name": "Office Mix",
    "provider_name": "Official FM",
    "provider_name": "On Aol",
    "provider_name": "Ora TV",
    "provider_name": "Orbitvu",
    "provider_name": "Oumy",
    "provider_name": "Pastery",
    "provider_name": "Pixdor",
    "provider_name": "Poll Daddy",
    "provider_name": "Port",
    "provider_name": "Portfolium",
    "provider_name": "Punters",
    "provider_name": "Quiz.biz",
    "provider_name": "Quizz.biz",
    "provider_name": "RapidEngage",
    "provider_name": "Reddit",
    "provider_name": "ReleaseWire",
    "provider_name": "RepubHub",
    "provider_name": "ReverbNation",
    "provider_name": "Roomshare",
    "provider_name": "Rumble",
    "provider_name": "Sapo Videos",
    "provider_name": "Screen9",
    "provider_name": "Screencast.com",
    "provider_name": "Screenr",
    "provider_name": "ScribbleMaps",
    "provider_name": "Scribd",
    "provider_name": "ShortNote",
    "provider_name": "Shoudio",
    "provider_name": "Show the Way, actionable location info",
    "provider_name": "Silk",
    "provider_name": "Simplecast",
    "provider_name": "Sizzle",
    "provider_name": "Sketchfab",
    "provider_name": "SlideShare",
    "provider_name": "SmugMug",
    "provider_name": "SocialExplorer",
    "provider_name": "Songlink",
    "provider_name": "SoundCloud",
    "provider_name": "Soundsgood",
    "provider_name": "SpeakerDeck",
    "provider_name": "Spotful",
    "provider_name": "Spreaker",
    "provider_name": "Streamable",
    "provider_name": "StreamOneCloud",
    "provider_name": "Sutori",
    "provider_name": "Sway",
    "provider_name": "Ted",
    "provider_name": "The New York Times",
    "provider_name": "They Said So",
    "provider_name": "TickCounter",
    "provider_name": "Toornament",
    "provider_name": "Topy",
    "provider_name": "Twitch",
    "provider_name": "Twitter",
    "provider_name": "Ubideo",
    "provider_name": "UOL",
    "provider_name": "Ustream",
    "provider_name": "Utposts",
    "provider_name": "Uttles",
    "provider_name": "VeeR VR",
    "provider_name": "Verse",
    "provider_name": "VEVO",
    "provider_name": "VideoJug",
    "provider_name": "Vidlit",
    "provider_name": "Vimeo",
    "provider_name": "Vlipsy",
    "provider_name": "wecandeo",
    "provider_name": "Wiredrive",
    "provider_name": "wizer.me",
    "provider_name": "Wootled",
    "provider_name": "WordPress.com",
    "provider_name": "Yes, I Know IT!",
    "provider_name": "YFrog",
    "provider_name": "YouTube",
    "provider_name": "ZProvider",
Run Code Online (Sandbox Code Playgroud)

请注意,这并不意味着在此网站上启用了CORS

这些数据主要用于解析服务器端。

大多数这些信息也可以通过解析给定页面的<meta og> 开放图html 属性来获得。

有关开放图的信息,请参阅http://ogp.me/

  • 这是一个很好的答案,它不需要 api 密钥,也不依赖于第三方服务。 (2认同)

jlm*_*ald 17

要获得视频标题,您需要一个API密钥,你需要做一个请求:

https://www.googleapis.com/youtube/v3/videos?part=snippet&id={COMMA_DELIMITED_LIST_OF_IDS}&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

在返回的数据包中,标题将为 items.snippet.title

没有API密钥,您无法检索任何 API数据; 所有API请求都在配额系统上,并且该密钥用于确定向应用的每日限额收取多少费用.然而,如上所述的呼叫相当便宜; 它总共有3个单元(代码片段为2个,请求本身为1个).由于您每天可以获得50,000,000个单位,并且可以为相同的3个单元检索多达50个片段,因此使用API​​密钥并不是一个很大的负担.

  • 太好了,视频长度字段从 API v3 中消失了。为什么他们必须打破这些谷歌家伙完美运作的东西?&gt;:( (2认同)