web-dev-qa-db-ja.com

APIキーなしのAPI v3を使用したYouTubeビデオタイトル?

API v3 なし APIキーでビデオIDを使用してビデオタイトルを取得することは可能ですか? APIドキュメントにタイトルを取得するための情報や例は見つかりませんでした。

18
sam

動画のタイトルを取得するには、will APIキーが必要であり、次のリクエストを行う必要があります。

https://www.googleapis.com/youtube/v3/videos?part=snippet&id={COMMA_DELIMITED_LIST_OF_IDS}&key={YOUR_API_KEY}

返されたパケットでは、タイトルはitems.snippet.title

APIキーがないとany APIデータを取得できません。すべてのAPIリクエストは割り当てシステム上にあり、キーはアプリの1日の制限に請求する金額を決定するために使用されます。ただし、上記のような呼び出しは非常に安価です。合計3ユニットです(2はスニペット、1はリクエスト自体です)。 1日あたり50,000,000ユニットを取得し、同じ3ユニットで最大50のスニペットを取得できるため、APIキーを使用するのはそれほど負担にはなりません。

17
jlmcdonald

APIキーは不要

動画のタイトルを取得するには、APIキーが必要です[〜#〜] [〜#〜]必要はなく、リクエスト:

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

必要な動画のYouTube URLを変更します。

Vimeoや他の多くの サポートされているサイト でも動作します。

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

細部

APIを直接使用する場合、APIキーのないAPI v3で動画IDを使用して動画タイトルを取得することはできません。 YouTube Data API v2は非推奨になり(参照: YouTube Data API v2非推奨:よくある質問 )、現在YouTube APIは oEmbed[でサポートしていません〜#〜] jsonp [〜#〜] 必要に応じて( 問題4329:JSONPのoEmbedコールバック を参照)。

しかし幸いにも、JSONPを使用し、APIキーなしでYouTube動画のタイトル(およびその他のデータ)を取得できる Noembed サービスがあります。

デモ

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);
});

JS Binの [〜#〜] demo [〜#〜] を参照してください。

次の質問もご覧ください。

25
rsp

これはまさにoEmbedプロトコルの意味です。

oEmbedは、サードパーティのサイトでURLの埋め込み表現を許可するためのフォーマットです。シンプルなAPIを使用すると、ユーザーがそのリソースへのリンクを投稿したときに、リソースを直接解析することなく、Webサイトが埋め込みコンテンツ(写真やビデオなど)を表示できます。

このドキュメントは GitHub に保存されています。

https://oembed.com の形式に関する詳細情報

https://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3DM3r2XDceM6A&format=json

出力例:

{
    "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>",
}

以下は、フォーマットに準拠していると宣言されたコンテンツプロバイダーのリストです。

    "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",

これは、このウェブサイトで[〜#〜] cors [〜#〜]が有効になっているという意味ではありません。

このデータは、ほとんどがサーバー側で解析されるように作成されています。

この情報のほとんどは、特定のページの<meta og>open graphhtml属性を解析することでも取得できます。

開いているグラフについての情報は http://ogp.me/ を参照してください。

7
NVRM

はいAPIがなくてもできますRequests an reモジュール

Pythonのコード:

import requests,re

video_url = "https://www.youtube.com/watch?v=2i2khp_npdE"

response = requests.get(video_url).text

title = re.findall(r'"title":"[^>]*",',response)[0].split(',')[0][9:-1]

print("\n[+] Video Title: {}".format(title))

出力:

[+]ビデオタイトル:Alan Walker-Sing Me to Sleep

0
Oseid