2009-11-19 3 views
28

저는 YouTube API를 가지고 놀고 있는데, 재미있는 작은 프로젝트를 시작했습니다.동영상 ID가 있으면 어떻게 YouTube 동영상의 제목을 얻을 수 있습니까?

문제는 이드의 비디오 타이틀을 가져 오는 길을 찾을 수 없다는 것입니다. (예 : ylLzyHk54Z0)

DATA 및 PLAYER API 문서를 살펴본 결과 찾을 수 없습니다.

누군가가이 작업을 수행하는 방법을 알고 있거나 누군가 내가이 작업을 수행하는 방법을 찾도록 도와 줄 수 있다면 제발 도와주세요.

참고 : 자바 스크립트를 사용하고 있습니다. 그것은 웹 응용 프로그램이 될 것입니다.

편집 : 아이디어가 있습니다. 어쩌면 정규 표현을 사용하여 페이지 제목에서 제목을 파싱 할 수 있습니다. 나는이 일을하고있다.

+3

RegEx 또는 스크린 스크랩을 사용하지 마십시오! API가 모든 것을 처리합니다. – philfreo

답변

35

하지 전적으로 가능 자바 스크립트에서 다른 도메인의 문서를 얻기 위해 노력하고 있기 때문이다. 만약 당신이 약간의 PHP를 던져 드리겠습니다 이것을 시도하십시오. 확인 테스트 :

<? 
    $vidID = $_POST['vidID']; 
    $url = "http://gdata.youtube.com/feeds/api/videos/". $vidID; 
    $doc = new DOMDocument; 
    $doc->load($url); 
    $title = $doc->getElementsByTagName("title")->item(0)->nodeValue; 
?> 

<html> 
    <head> 
     <title>Get Video Name</title> 
    </head> 
    <body> 
     <form action="test.php" method="post"> 
      <input type="text" value="ID Here" name="vidID" /> 
      <input type="submit" value="Get Name" /> 
     </form> 
     <div id="page">URL: [<?= $url ?>]</div> 
     <div id="title">Title: [<?= $title ?>]</div> 
    </body> 
</html> 
+0

답변 해 주셔서 감사합니다. 예, PHP는 문제가되지 않습니다. 나는 아약스 해결책을 준비했다. –

+0

그래, 그 중 일부는 javascript에서 다르게 수행 될 수 있지만 여전히 교차 도메인 문제가있어 더 이상 복잡하지 않게해야합니다. 만약 당신이 행복하다면 나는 대답을 받아 들일 수 있기를 바랍니다 :) – SimonDever

+2

업데이트만으로는, 이것은 JavaScript [콜백 매개 변수 사용] (http://code.google.com/apis/youtube/2.0/developers_guide_json)에서 가능할 것입니다. html). – Marcel

15

http://gdata.youtube.com/feeds/api/videos/ylLzyHk54Z0으로 전화하십시오.

이 XML 파일에서 <title> 태그의 값을 읽으십시오.

YouTube Api Documentation

+11

더 이상 사용하지 않습니다. –

14

당신은에 JSON 요청을 사용할 수 있습니다 http://gdata.youtube.com/feeds/api/videos/ylLzyHk54Z0?v=2&alt=jsonc

+11

더 이상 활성입니다. –

1

내 솔루션은 다음과 같습니다

$xmlInfoVideo = simplexml_load_file("http://gdata.youtube.com/feeds/api/videos/".$videoId."?v=2&fields=title"); 

foreach($xmlInfoVideo->children() as $title) { $videoTitle = strtoupper((string) $title); } 

이 비디오의 제목을 얻는다.

2

비디오 타이틀은 점 표기법을 사용하여 자바 스크립트의 API 및 도달에 있습니다

the_name_of_your_video_object.A.videoData.title 
+1

저는'video_object.getVideoData(). title'을 사용하고 있습니다. – cdonts

+0

@cdonts 자신의 방식대로 작동합니다. 'A.videoData'는 더 이상 작동하지 않습니다. – AaronS

16

이 자바 스크립트와 V3 유튜브 데이터 API와 함께 할 수있는 방법입니다. 대신 http://gdata.youtube.com/feeds/api/videos/를 사용

var ytApiKey = "..."; 
var videoId = "ylLzyHk54Z0"; 

$.get("https://www.googleapis.com/youtube/v3/videos?part=snippet&id=" + videoId + "&key=" + ytApiKey, function(data) { 
    alert(data.items[0].snippet.title); 
}); 
+0

비디오 타이틀에서 비디오 ID를 가져 오는 방법은 무엇입니까? –

+0

이것은 API v3 이후의 새로운 정답입니다. –

1

....

하면 비디오로드가있는 경우, 당신은 제목을 포함하여 비디오에 대한 정보를 검색 할 플레이어 오브젝트의 getVideoData() 메서드를 사용할 수 있습니다. video_id, author, title이 포함 된 객체를 반환합니다.

4

이 답변이

YouTube 동영상 ID에서 비디오 타이틀을 얻을 12 월 2015 년 현재 정확한, 당신은 (당신이 API 키를 사용하는 데 필요한 유튜브 데이터 API를 사용하여 다음 URL을 구성해야합니다

https://www.googleapis.com/youtube/v3/videos?part=snippet&id={YOUTUBE_VIDEO_ID}&fields=items(id%2Csnippet)&key={YOUR_API_KEY}

는 GET 요청을 수행하고 아래의 덩어리와 유사한 JSON 응답을 얻을 것이다, 그렇지 않으면 요청이) 실패합니다. 제목은 snippet/title 키에 있습니다.

{ 
    "items":[ 
     { 
     "id":"Jglv0A0qLI8", 
     "snippet":{ 
      "publishedAt":"2014-06-30T03:42:20.000Z", 
      "channelId":"UCdTU5vd37FlTZ-xoB0xzRDA", 
      "title":"AIA Malaysia - A-Plus Venus Plan - Comprehensive Female Protection and Insurance Plan", 
      "description":"A comprehensive female protection plan for the modern women\n\nFor more information visit: http://www.aia.com.my/en/individuals/products-and-services/health/a-plus-venus-a-plus-venus-extra.html\n\nFor more products, visit AIA Malaysia's Products and Services playlist:\nhttps://www.youtube.com/playlist?list=PLSrgVT3aQ1fZ3SCe-dEVnFJDApBYkqolP\n\nFor more videos. subscribe to AIA Malaysia's YouTube channel:\nhttps://www.youtube.com/channel/UCdTU5vd37FlTZ-xoB0xzRDA", 
      "thumbnails":{ 
       "default":{ 
        "url":"https://i.ytimg.com/vi/Jglv0A0qLI8/default.jpg", 
        "width":120, 
        "height":90 
       }, 
       "medium":{ 
        "url":"https://i.ytimg.com/vi/Jglv0A0qLI8/mqdefault.jpg", 
        "width":320, 
        "height":180 
       }, 
       "high":{ 
        "url":"https://i.ytimg.com/vi/Jglv0A0qLI8/hqdefault.jpg", 
        "width":480, 
        "height":360 
       }, 
       "standard":{ 
        "url":"https://i.ytimg.com/vi/Jglv0A0qLI8/sddefault.jpg", 
        "width":640, 
        "height":480 
       }, 
       "maxres":{ 
        "url":"https://i.ytimg.com/vi/Jglv0A0qLI8/maxresdefault.jpg", 
        "width":1280, 
        "height":720 
       } 
      }, 
      "channelTitle":"AIA Malaysia", 
      "tags":[ 
       "aia", 
       "aia malaysia", 
       "a-plus venus", 
       "female health insurance", 
       "female life insurance", 
       "female insurance", 
       "female medical insurance" 
      ], 
      "categoryId":"27", 
      "liveBroadcastContent":"none", 
      "localized":{ 
       "title":"AIA Malaysia - A-Plus Venus Plan - Comprehensive Female Protection and Insurance Plan", 
       "description":"A comprehensive female protection plan for the modern women\n\nFor more information visit: http://www.aia.com.my/en/individuals/products-and-services/health/a-plus-venus-a-plus-venus-extra.html\n\nFor more products, visit AIA Malaysia's Products and Services playlist:\nhttps://www.youtube.com/playlist?list=PLSrgVT3aQ1fZ3SCe-dEVnFJDApBYkqolP\n\nFor more videos. subscribe to AIA Malaysia's YouTube channel:\nhttps://www.youtube.com/channel/UCdTU5vd37FlTZ-xoB0xzRDA" 
      } 
     } 
     } 
    ] 
} 

자세한 내용은 the API documentation page을 참조하십시오.

https://www.googleapis.com/youtube/v3/videos?part=snippet&id={YOUTUBE_VIDEO_ID}&fields=items(id,snippet)&key={YOUR_API_KEY}

이것에 대해 약간의 사양 : 로버트 심과 cbaigorri의

2

대답은 그에게 요청을받을 수 있나요 JS이 시간에 그것을 할 수있는 올바른 방법이다, 최선을했다 당신은 쉼표로 구분 된 YouTube 동영상 ID를 사용하여 하나의 요청으로 여러 동영상 정보를 얻을 수 있습니다.

, 1 개 비디오를 얻을 수 비디오 ID (예 : 123456)와 {YOUTUBE_VIDEO_ID} 교체하려면 하나 개의 요청에 더 많은 동영상을 얻으려면 를 쉼표 아이디를 (예 : 123456,234567,345678,456789) 분리와 {YOUTUBE_VIDEO_ID} 교체

이것은 하나의 요청으로 간주됩니다 할당량에서이 방법을 사용하면 할당량/요청 비용이 1 개인 많은 비디오 세부 정보를 얻을 수 있습니다.

관련 문제