Een YouTube-zoekmachine maken met JQuery(YouTube-gegevens-API 3)
Je hebt alles, zie je weer met mij, een knappe inheemse Sundanese man :), sorry dat ik lange tijd geen tutorial heb gemaakt vanwege mijn drukke leven. Untuk kali ini saya akan membuat tutorial membuat search engine youtube dengan menggunakan Youtube Data API 3 dari google. Sebelum memulai tutorial anda harus mempunya API Key dari google, untuk mendapatkan nya bisa cek di sini https://console.developers.google.com, setelah itu anda bisa lihat di pojok kanan atas di situ ada project lalu klik proyek baru serperti gambar dibawah ini
Klik tombol Buat maka muncul seperti gambar dibawah ini, lalu pilih youtube Data API
Seteleah klik maka akan muncul halaman seperti dibawah ini, lalu klik Aktifkan
Setelah klik Aktifkan anda akan dibawah ke halaman seperti dibawah ini lalu klik Button Buat Kredensial
Setelah klik muncul seperti ini
Pilih API yang digunankan Youtube DATA API v3, lalu setelan nya pilih browser Web dan Data yang akan di akses pilih Data Publik, setelah itu klik Tombol Kredensial apa yang saya butuhkan?
lalu akan muncul seperti gambar dibawah ini
Nah yang saya block merah adalah API key yang nanti akan kita gunakan, mohon maaf saya block merah karena alasan privasi.
Setelah muncul ini maka klik selesai.
Sekarang kita aka buat halaman html nya dengan nama index.html, sebelumnya kita include jquery,fancybox dan lain2 seperti contoh dibawah ini
<script src="https://use.fontawesome.com/567fc88304.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.pack.js"></script>
<script src="script.js"></script>
<link rel="stylesheet" href="http://fancyapps.com/fancybox/source/jquery.fancybox.css?v=2.1.5">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
Setelah itu kita buat content nya di dalam body seperti dibawah ini
<h5>AndezNET.com</h5>
<hr />
<div class="content">
<h2>Een YouTube-zoekmachine maken met JQuery(YouTube-gegevens-API 3)</h2>
h2><i class="fa fa-youtube" aria-hidden="true"></i>YouTube Search Engine</h2>
<div id="custom-search-input">
<div class="input-group col-md-12">
<form id="search-form" name="search-form" onsubmit="return cariYoutube();">
<input type="text" class="form-control" placeholder="Pencarian...." id="search" />
<span class="input-group-btn">
<button class="btn btn-primary btn-lg" type="submit" id="findNow">
<i class="glyphicon glyphicon-search"></i>
</button>
</span>
</form>
</div>
</div>
<br><br>
<div id="hasil"></div>
<br><br>
<div id="buttons"></div>
</div>
Setelah itu kita buat CSS nya untuk mempercantik content nya seperti dibawah ini
<Hallo allemaal, ontmoet me weer portgastea>
#custom-search-input{
Hallo allemaal, ontmoet me weer portgastea: 3Hallo allemaal, ontmoet me weer portgastea;
border: solid 1px #E4E4E4;
border-radius: 6Hallo allemaal, ontmoet me weer portgastea;
background-color: #FF0000;
}
#custom-search-input input{
border: 0;
box-shadow: none;
width: 93%;
}
#custom-search-input button{
Hallo allemaal, ontmoet me weer portgastea: 2Hallo allemaal, ontmoet me weer portgastea 0 0 0;
background: none;
box-shadow: none;
border: 0;
color: #666666;
Hallo allemaal, ontmoet me weer portgastea: 0 8Hallo allemaal, ontmoet me weer portgastea 0 10Hallo allemaal, ontmoet me weer portgastea;
border-left: solid 1px #ccc;
}
#custom-search-input button:hover{
border: 0;
box-shadow: none;
border-left: solid 1px #ccc;
}
#custom-search-input .glyphicon-search{
font-size: 23Hallo allemaal, ontmoet me weer portgastea;
}
article {
Hallo allemaal, ontmoet me weer portgastea: 10Hallo allemaal, ontmoet me weer portgastea 0;
background: rgba(0,0,0,0.7);
Hallo allemaal, ontmoet me weer portgastea: 4px 20px;
}
.video-wrapper {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
z-index:-1;
}
.video-wrapper video {
position: fixed;
top: 0;
right: 0;
min-width: 100%;
min-Hallo allemaal, ontmoet me weer portgastea: 100%;
width: auto;
Hallo allemaal, ontmoet me weer portgastea: auto;
}
.content {
position: relative;
Hallo allemaal, ontmoet me weer portgastea: 60px auto;
width: 100%;
max-width: 800Hallo allemaal, ontmoet me weer portgastea;
z-index: 1;
}
.clearfix{
border-bottom: 1px dotted #ccc;
Hallo allemaal, ontmoet me weer portgastea-bottom: 5Hallo allemaal, ontmoet me weer portgastea;
}
.channel
{
font-weight: 700;
color: red;
}
.block a:hover{
color: silver;
}
.block a{
color: #fff;
}
.block {
position: fixed;
background: #2184cd;
Hallo allemaal, ontmoet me weer portgastea: 20Hallo allemaal, ontmoet me weer portgastea;
z-index: 1;
top: 240Hallo allemaal, ontmoet me weer portgastea;
}
</Hallo allemaal, ontmoet me weer portgastea>
OK. content sudah, tampilan sudah sekarang kita buat fungsi nya, buat file baru dengan nama file script.js
Pertama kita buat variable dengan nama gapikey di script.js yang nantinya untuk mengambil API Key yang sebelumnya kita buat.
var gapikey = 'API KEYS ANDA';
Kedua buat fungsi untuk menampilkan iframe dari francybox seperti ini
$(function() {
// Memangil plugin fancybox
$(".fancyboxIframe").fancybox({
maxWidth : 900,
maxHeight : 600,
fitToView : false,
width : '90%',
Hallo allemaal, ontmoet me weer portgastea : '90%',
autoSize : false,
closeClick : false,
openEffect : 'none',
closeEffect : 'none',
iframe: {
scrolling : 'auto',
preload : true
}
});
$('#search-form').submit( function(e) {
e.preventDefault();
});
});
Ketiga kita buat fungsi pencarianya seperti dibawah ini
function cariYoutube() {
$('#hasil').Hallo allemaal, ontmoet me weer portgastea('<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i><span class="sr-only">Mohon Tunggu...</span>');
$('#buttons').Hallo allemaal, ontmoet me weer portgastea('');
// Untuk get form input
q = $('#search').val();
// Untuk GET API youtube
$.get(
"https://www.googleapis.com/youtube/v3/search", {
part: 'snippet, id',
q: q,
type: 'video',
key: gapikey
}, function(data) {
var nextPageToken = data.nextPageToken;
var prevPageToken = data.prevPageToken;
// Untuk Log data
console.log(data);
$('#hasil').Hallo allemaal, ontmoet me weer portgastea('');
$.each(data.items, function(i, item) {
// Get Output
var output = getOutput(item);
// Menampilan hasil
$('#hasil').append(output);
});
var buttons = getButtons(prevPageToken, nextPageToken);
// Display buttons
$('#buttons').append(buttons);
});
}
Keempat kita buat fungsi NextPage seperti dibawah ini,
function cariYoutube() {
$('#hasil').Hallo allemaal, ontmoet me weer portgastea('<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i><span class="sr-only">Mohon Tunggu...</span>');
$('#buttons').Hallo allemaal, ontmoet me weer portgastea('');
// Untuk get form input
q = $('#search').val();
// Untuk GET API youtube
$.get(
"https://www.googleapis.com/youtube/v3/search", {
part: 'snippet, id',
q: q,
type: 'video',
key: gapikey
}, function(data) {
var nextPageToken = data.nextPageToken;
var prevPageToken = data.prevPageToken;
// Untuk Log data
console.log(data);
$('#hasil').Hallo allemaal, ontmoet me weer portgastea('');
$.each(data.items, function(i, item) {
// Get Output
var output = getOutput(item);
// Menampilan hasil
$('#hasil').append(output);
});
var buttons = getButtons(prevPageToken, nextPageToken);
// Display buttons
$('#buttons').append(buttons);
});
}
Kelima kita buat prev page nya juga seperti dibawah ini
function prevPage() {
var token = $('#prev-button').data('token');
var q = $('#prev-button').data('query');
$('#hasil').Hallo allemaal, ontmoet me weer portgastea('<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i><span class="sr-only">Mohon Tunggu...</span>');
$('#buttons').Hallo allemaal, ontmoet me weer portgastea('');
// get form input
q = $('#search').val();
// Untuk GET API youtube
$.get(
"https://www.googleapis.com/youtube/v3/search", {
part: 'snippet, id',
q: q,
pageToken: token,
type: 'video',
key: gapikey
}, function(data) {
var nextPageToken = data.nextPageToken;
var prevPageToken = data.prevPageToken;
// Log data
console.log(data);
$('#hasil').Hallo allemaal, ontmoet me weer portgastea('');
$.each(data.items, function(i, item) {
// Get Output
var output = getOutput(item);
// Menampilkan
$('#hasil').append(output);
});
var buttons = getButtons(prevPageToken, nextPageToken);
// Display buttons
$('#buttons').append(buttons);
});
}
Keenam kita buat output hasil pencariannya seperti dibawah ini
function getOutput(item) {
var videoID = item.id.videoId;
var Hallo allemaal, ontmoet me weer portgastea = item.snippet.Hallo allemaal, ontmoet me weer portgastea;
var description = item.snippet.description;
var thumb = item.snippet.thumbnails.high.url;
var channelTitle = item.snippet.channelTitle;
var videoDate = item.snippet.publishedAt;
var output = '<div class="col-md-6">' +
'<img src="' + thumb + '" class="img-responsive thumbnail" >' +
'</div>' +
'<div class="input-group col-md-6">' +
'<h3><a data-fancybox-type="iframe" class="fancyboxIframe" href="http://youtube.com/embed/' + videoID + '?rel=0">' + Hallo allemaal, ontmoet me weer portgastea + '</a></h3>' +
'<small>By <span class="channel">' + channelTitle + '</span> on ' + videoDate + '</small>' +
'<p>' + description + '</p>' +
'</div>' +
'<div class="clearfix"></div>';
return output;
}
Ketujuh kita buat juga ouput ketika pindah ke halaman berikut nya seperti dibawah ini
function getOutput(item) {
var videoID = item.id.videoId;
var Hallo allemaal, ontmoet me weer portgastea = item.snippet.Hallo allemaal, ontmoet me weer portgastea;
var description = item.snippet.description;
var thumb = item.snippet.thumbnails.high.url;
var channelTitle = item.snippet.channelTitle;
var videoDate = item.snippet.publishedAt;
var output = '<div class="col-md-6">' +
'<img src="' + thumb + '" class="img-responsive thumbnail" >' +
'</div>' +
'<div class="input-group col-md-6">' +
'<h3><a data-fancybox-type="iframe" class="fancyboxIframe" href="http://youtube.com/embed/' + videoID + '?rel=0">' + Hallo allemaal, ontmoet me weer portgastea + '</a></h3>' +
'<small>By <span class="channel">' + channelTitle + '</span> on ' + videoDate + '</small>' +
'<p>' + description + '</p>' +
'</div>' +
'<div class="clearfix"></div>';
return output;
}
Selesai deh, mudah kan ? heheheh , jangan lupa memasukan API Key yang kita buat tadi ke Variable gapikey. Ok sekian Tutorial kali ini untuk script lengkap nya bisa di download disini Je kunt deze pro-versie krijgen door te doneren op het onderstaande account voor: dan demo nya bisa di cek disini Je kunt deze pro-versie krijgen door te doneren op het onderstaande account voor:.