başlık resmi ve videdo url alıyorum .
açıklama kısmını beğeni kısmına ve izlenme kısmımlarına nasıl ulaşabilirim.
error_reporting(0);
$api_key="api"; // youtube v3 te verilen Api Kod
$per_page = 6; // Ne kadar sayfalansın ?
if(!isset($_GET['search']) && !isset($_GET['view']) && !isset($_GET['info'])){
echo '
YouTubeden Video Ara
';
}
if(isset($_GET['view']) && !isset($_GET['info'])){
if($_GET[view]!="" && $_GET['nextPage']!=""){
$nextPage=strip_tags($_GET['nextPage']);
$q=preg_replace('/ /','+',$_GET['view']);
$searchUrl="https://www.googleapis.com/youtube/v3/search?part=snippet&q={$q}&type=video&key=$api_key&maxResults=20&pageToken={$nextPage}";
}else {
$q=preg_replace('/ /','+',$_POST[q]);
$searchUrl="https://www.googleapis.com/youtube/v3/search?part=snippet&q={$q}&type=video&key=$api_key&maxResults=20";
}
$title=$q;
echo '
'.$title.'
';
$response = file_get_contents($searchUrl);
$searchResponse = json_decode($response,true);
foreach ($searchResponse['items'] as $searchResult) {
$a = $searchResult['id']['videoId'];
$title=$searchResult['snippet']['title'];
$img=$searchResult['snippet']['thumbnails']['default']['url'];
echo ''.$title.' ';
}
$prevPage=$searchResponse[prevPageToken];
$nextPage = $searchResponse[nextPageToken];
if($prevPage!=""){ echo 'Geri '; }
if($nextPage!=""){ echo 'İleri '; }
}
if(isset($_GET['info'])){
$info=strip_tags($_GET['info']);
$fx=file_get_contents("https://www.googleapis.com/youtube/v3/videos?id={$info}&key=$api_key&part=snippet");
$videoInfo=json_decode($fx,true);
$title= $videoInfo['items']['0']['snippet']['title'];
$img=$videoInfo['items']['0']['snippet']['thumbnails']['default']['url'];
if($title!=""){
echo '
'.$title.'
';
echo'
';
}
?>
if ($_POST) { // Sayfada post olup olmadığını kontrol ediyoruz.
$baslik = $_POST['baslik'];
$resim = $_POST['resim'];
$videourl = $_POST['videourl'];
$aciklama = $_POST['aciklama'];
if ($baslik<>"") { // Veri alanlarının boş olmadığını kontrol ettiriyoruz. Başka kontrollerde yapabilirsiniz.
if ($baglanti->query("INSERT INTO video (baslik,resim,videourl,aciklama) VALUES ('$baslik','$resim','$videourl','$aciklama')")) // Veri ekleme sorgumuzu yazıyoruz.
{
echo "Veri Eklendi"; // Eğer veri eklendiyse eklendi yazmasını sağlıyoruz.
}
else
{
echo "Hata oluştu";
}
}
}
else { echo 'Böyle bir video bulunamadı '; }
}
?>
:)
-
Üyelik
19.04.2015
-
Yaş/Cinsiyet
26 / E
-
Meslek
Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
E** E**
-
Mesajlar
820
-
Beğeniler
1 / 302
-
Ticaret
1, (%100)
Daha önce YouTube Data API üzerinde biraz kafa yormuştum, sorduğun soru ile ne kadar alakalıdır bilmiyorum ama açıklamayı, video ismi, önizleme resimlerini, beğeni ve izlenme sayılarını almak için şöyle bir zincir part sorgusu kullanıyordum:
&part=snippet,contentDetails,status,statistics,topicDetails
Gelen veriyi parçalayıp foreach ile içinde dönüp şu şekilde ilgili verileri çıkartıyordum:
SVİsmi = İçerik.snippet.title.ToString();
if (İçerik.statistics.dislikeCount != null)
{
SVBBM = İçerik.statistics.dislikeCount;
}
else
{
SVBBM = string.Empty;
}
if (İçerik.statistics.likeCount != null)
{
SVBB = İçerik.statistics.likeCount;
}
else
{
SVBB = string.Empty;
}
SVGS = İçerik.statistics.viewCount.ToString();
SVFS = İçerik.statistics.favoriteCount.ToString();
SVAÇ = İçerik.snippet.description.ToString();
OrtaKaliteÖnİzlemeGörseli = İçerik.snippet.thumbnails.medium.url;
SVResmi = İçerik.snippet.thumbnails.maxres.url.ToString();
Ayrıca notlarımdan biraz aktarayım:
+ Bir video için Part parametresine ait sorgu biçimleri şu şekildedir;
- snippet (özet bilgiler)
- contentDetails (içerik detayları)
- fileDetails (videoyu yayınlayan kişi için dosya detayları)
- player (embed için)
- processingDetails (videoyu yayınlayan kişi için işleme detayları)
- recordingDetails (kayıt detayları)
- statistics (istatistikler)
- status (durum)
- suggestions (videoyu yayınlayan kişi için işleme önerileri)
- topicDetails (konu detayları)
Aslında açık açık anlatmışlar her şeyi: https://developers.google.com/youtube/v3/getting-started, https://developers.google.com/youtube/v3/docs/
php2ye uyarlamak sana kalmış, kolay gelsin.
no time for caution