테스트 사이트 - 개발 중인 베타 버전입니다

youtube api로 동영상 제목 가져오는법 채택완료

루2 4년 전 조회 2,083

유튜브 api key를 발급 받앗는데 

원하는 동영상에서 제목을 추출해 낼려면 어떡해야할까요..?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
라균
4년 전

</p>

<pre>
/**
 * @param $videoId
 * @return object{
 * publishedAt, channelId,
 * title, description, thumbnails, channelTitle, tags, categoryId,
 * liveBroadcastContent, defaultLanguage, localized{title, description}, defaultAudioLanguage
 * }
 * <a href="https://developers.google.com/youtube/v3/docs/videos?hl=ko" target="_blank" rel="noopener noreferrer">https://developers.google.com/youtube/v3/docs/videos?hl=ko</a>
 */
function getYoutubeInfo($videoId) {
  $apikey = 'your_APIkey';
  $content = curl('<a href="https://www.googleapis.com/youtube/v3/videos?id='" target="_blank" rel="noopener noreferrer">https://www.googleapis.com/youtube/v3/videos?id='</a> . $videoId . '&key=' . $apikey . '&part=snippet,contentDetails,statistics,status');

  $content = json_decode($content, true);
  // 영상이 없거나 비공개인경우
  if ($content[pageInfo][totalResults] == 0) {
    return null;
  }

  return $content[items][0];
}</pre>

<p>
 

 

우선 유툽 인포메이션 가져오고

</p>

<p>$info = getYoutubeInfo($row[videoId]);</p>

<pre>
$snippet = $info[snippet];
$contentDetails = $info[contentDetails];</pre>

<p> </p>

<pre>
$snippet[title]; //제목
</pre>

<pre>
$snippet[description]; // 내용</pre>

<pre>
$contentDetails[duration]; // 영상시간</pre>

<p>

 

정도로 가져올수있고 

https://developers.google.com/youtube/v3/docs/videos?hl=ko  여기 보시면 더 정확하게 나와있어요
로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

라균
4년 전
[code]

/**
* @param $url
* @return bool|string
*/
function curl($url) {
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$g = curl_exec($ch);
curl_close($ch);
return $g;
}
[/code]



빠진 부분 추가해요
루2
4년 전
자바스크립트로 쓸 수 잇을까요?
라균
4년 전
혹시 id 가져오는부분도 찾으실까봐 url 입력하면 id 찾아주는 함수에요
[code]
/**
* @param $contents
* @return false|mixed
* 유튜브 ID 가져오기
*/
function get_youtube_id($contents) {
if(!$contents)
return false;

preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $contents, $match);

return $match[1];
}
[/code]
라균
4년 전
자바스크립트는 소스가 더 많이 있을거에요 구현 해둔건 없어서 비슷하게 하시면 될겁니다.
루2
4년 전
너무 감사합니다 ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인