Dengan YouTube Data API, aplikasi klien dapat mengambil dan memperbarui konten YouTube dalam bentuk feed Google Data API. Aplikasi klien Anda dapat menggunakan feed YouTube Data API untuk mengambil, menelusuri, dan memperbarui video, komentar, respons, playlist, profil pengguna, dan kontak pengguna, serta kueri untuk video yang cocok dengan kriteria tertentu.
Selain memberikan informasi latar belakang tentang kemampuan YouTube Data API, dokumen ini memberikan contoh untuk berinteraksi dengan API menggunakan Library Klien Python. Untuk menggunakan library klien Python, Anda memerlukan Python 2.0+ dan modul Element Tree, httplib, dan urllib. Lihat Modul Dependensi untuk detail lebih lanjut.
Jika Anda memerlukan bantuan untuk menyiapkan library klien Python, Panduan Memulai adalah tempat yang harus dilihat. Jika Anda tertarik untuk memahami lebih lanjut protokol dasar yang digunakan oleh library klien Python untuk berinteraksi dengan YouTube, lihat halaman protokol Panduan Developer.
Tentang dokumen ini
Audiens
Dokumen ini ditujukan untuk programmer yang ingin menulis aplikasi klien yang dapat berinteraksi dengan YouTube menggunakan library klien Python. API ini memberikan serangkaian contoh interaksi API data dasar.
Untuk mengetahui informasi referensi YouTube Data API, lihat panduan referensi.
Dokumen ini mengasumsikan bahwa Anda memahami ide umum di balik protokol Google Data API dan mengetahui cara memprogram dengan Python.
Untuk informasi referensi tentang class dan metode Python, lihat pyDocs (untuk class layanan, dan untuk class data) yang disertakan dengan kode sumber.
Struktur dokumen
Dokumen ini berisi bagian-bagian berikut:
-
Bagian Authentication menjelaskan dua metode autentikasi berbeda yang tersedia untuk mengaitkan operasi API dengan akun pengguna tertentu. Bagian ini juga menguraikan perbedaan antara autentikasi untuk YouTube Data API dan Google Data API lainnya. Di seluruh dokumen ini, penjelasan tentang fungsi API tertentu akan menunjukkan dengan jelas apakah fungsi tersebut memerlukan autentikasi pengguna. Secara umum, semua permintaan yang mengubah data feed atau video harus diautentikasi. Permintaan hanya baca ke video publik tidak memerlukan autentikasi.
-
Bagian Memahami feed dan entri video memberikan contoh respons API dan menjelaskan cara mengekstrak informasi tentang satu video dari daftar video atau sekumpulan hasil penelusuran. Bagian ini juga menjelaskan cara mengakses metadata tentang entri video tertentu. Terakhir, bagian ini menjelaskan mekanisme untuk memperbarui entri video individual.
-
Bagian Mengambil dan menelusuri video menjelaskan cara mengambil daftar video tertentu, seperti feed standar video terpopuler YouTube. Daftar video lainnya mencakup video yang diupload oleh pengguna tertentu dan daftar video yang terkait dengan video tertentu. Bagian ini juga menjelaskan cara menggunakan API untuk memungkinkan pengguna menelusuri koleksi video YouTube menurut istilah penelusuran atau kategori tertentu.
-
Bagian Mengupload video secara singkat menjelaskan dua cara untuk mengizinkan pengguna mengupload video ke YouTube dari aplikasi Anda. Selain itu, bagian ini juga menjelaskan cara mengupload video sebagai respons terhadap video lain.
-
Bagian Mengupdate dan menghapus video menjelaskan cara menggunakan API untuk memperbarui informasi tentang video YouTube. Bagian ini juga menjelaskan cara menghapus video menggunakan API.
-
Bagian Menggunakan fitur komunitas menjelaskan fungsi API yang memungkinkan pengguna berinteraksi dengan video YouTube. Fungsi ini menjelaskan permintaan untuk memposting rating, komentar, atau keluhan ke video yang ada. Anda juga dapat menggunakan API untuk mengambil daftar komentar video.
-
Bagian Menyimpan dan mengumpulkan video menjelaskan cara menggunakan API untuk mengakses, membuat, dan memperbarui video favorit, playlist video, dan subscription ke channel YouTube. Bagian ini juga menunjukkan cara memodifikasi playlist dan favorit video dengan menambahkan dan menghapus video.
-
Bagian Mengaktifkan interaksi pengguna menjelaskan cara menggunakan API untuk mengambil dan memperbarui profil pengguna. Bagian ini juga menjelaskan cara mengambil, menambahkan, memperbarui, dan menghapus kontak pengguna.
Memulai
Persyaratan
Aplikasi klien Anda dapat menggunakan feed YouTube Data API untuk menelusuri, mengambil, dan memperbarui video, komentar, respons, playlist, subscription, profil pengguna, dan lainnya.Selain memberikan informasi latar belakang tentang kemampuan YouTube Data API, dokumen ini memberikan contoh untuk berinteraksi dengan API menggunakan Library Klien Python. Untuk menggunakan library klien Python, Anda memerlukan Python 2.2+ serta modul Element Tree, httplib, dan urllib. Lihat Modul Dependensi untuk detail lebih lanjut.
Lihat Panduan Memulai untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi lingkungan. Jika Anda tertarik untuk memahami lebih lanjut protokol dasar yang digunakan oleh library klien Python untuk berinteraksi dengan YouTube, lihat halaman protokol Panduan Developer.
Cuplikan kode contoh di bawah ini dapat disalin/ditempel ke kode Anda dan diubah agar sesuai dengan kebutuhan Anda.
Sebelum dapat menjalankan operasi apa pun dengan YouTube Data API, Anda harus menginisialisasi objek
gdata.youtube.service.YouTubeService
, seperti yang ditunjukkan di bawah ini. Pernyataan import
yang tercantum di bawah akan otomatis mengimpor lebih lanjut dari modul gdata.media
dan gdata.geo
. Perhatikan bahwa semua tindakan selain mengambil konten publik akan memerlukan autentikasi.
import gdata.youtube import gdata.youtube.service yt_service = gdata.youtube.service.YouTubeService() # Turn on HTTPS/SSL access. # Note: SSL is not available at this time for uploads. yt_service.ssl = True
Sebagian besar contoh metode dalam panduan ini beroperasi pada instance gdata.youtube.service.YouTubeService
. Ada baiknya Anda menguji permintaan yang tidak diautentikasi dari penafsir python interaktif.
Catatan: library klien Python harus ditambahkan dengan benar di jalur Anda. Pastikan Anda menginstalnya dengan menjalankan skrip setup.py
yang disediakan. Lihat Panduan Memulai untuk mendapatkan informasi lebih lanjut.
Autentikasi
Library klien Python dapat digunakan untuk menggunakan feed publik atau pribadi. Feed publik bersifat hanya baca dan tidak memerlukan autentikasi apa pun. Feed pribadi mengharuskan Anda mengautentikasi ke server YouTube.
Autentikasi dapat dilakukan melalui autentikasi ClientLogin (untuk aplikasi Desktop), atau melalui autentikasi AuthSub (untuk aplikasi web).
Menetapkan kunci developer dan client ID Anda
Kunci developer mengidentifikasi developer YouTube yang mengirimkan permintaan API. Client ID mengidentifikasi aplikasi Anda untuk tujuan logging dan proses debug.
Saat Anda membuat permintaan API menggunakan library klien Python, header permintaan X-GData-Key
digunakan untuk menentukan kunci developer Anda dan header X-GData-Client
digunakan untuk menentukan client ID Anda. Kunci developer dan client ID dapat ditetapkan pada objek YouTubeService
, terlepas dari skema autentikasi yang sedang digunakan:
yt_service.developer_key = 'ABCxyz123...' yt_service.client_id = 'My-Client_id'
Anda harus mendaftar untuk mendapatkan kunci developer YouTube.
Autentikasi AuthSub untuk aplikasi web
Autentikasi proxy AuthSub digunakan oleh aplikasi web yang harus mengautentikasi pengguna ke akun YouTube/Google. Operator tidak memerlukan akses ke nama pengguna dan sandi untuk pengguna YouTube — hanya token AuthSub khusus yang diperlukan.
Saat pertama kali mengunjungi aplikasi Anda, pengguna belum diautentikasi dengan layanan Google. Dalam hal ini, Anda harus memberikan link yang mengarahkan pengguna ke Google untuk mengizinkan permintaan aplikasi Anda untuk mengakses akun YouTube mereka. Library klien Python menyediakan fungsi untuk membuat URL ini. Kode di bawah ini menyiapkan link ke halaman AuthSubRequest.
def GetAuthSubUrl(): next = 'http://www.example.com/video_upload.pyc' scope = 'http://gdata.youtube.com' secure = False session = True yt_service = gdata.youtube.service.YouTubeService() return yt_service.GenerateAuthSubURL(next, scope, secure, session) authSubUrl = GetAuthSubUrl() print '<a href="%s">Login to your Google account</a>' % authSubUrl
Perhatikan parameter yang dikirim ke metode GenerateAuthSubURL
objek layanan:
- next — URL halaman tempat YouTube akan mengalihkan pengguna setelah mereka mengizinkan aplikasi Anda untuk mengakses akun mereka.
- scope — menunjukkan bahwa aplikasi hanya akan mengakses feed YouTube API.
- secure — menunjukkan bahwa token yang ditampilkan tidak akan menjadi token aman.
- session — menunjukkan bahwa token ini dapat ditukarkan dengan token multi-penggunaan (sesi).
URL yang ditampilkan akan terlihat seperti ini:
https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fgdata.youtube.com&session=1&secure=0&next=http%3A%2F%2Fwww.example.com%2Fvideo_upload.pyc
Kemudian, pengguna dapat mengikuti link untuk login ke akun YouTube-nya. Setelah pengguna memberi otorisasi pada aplikasi Anda untuk mengakses akunnya, pengguna akan dialihkan kembali ke URL next
. URL akan memiliki nilai token sekali pakai yang ditambahkan sebagai parameter kueri. URL-nya akan terlihat seperti ini:
http://www.example.com/video_upload.pyc?token=Abc123...
Bagian berikutnya akan menunjukkan cara mengupgrade token ini. Cuplikan di bawah menunjukkan salah satu cara untuk mengambil token ini dari URL:
import cgi parameters = cgi.FieldStorage() authsub_token = parameters[[]'token' ]
Mengupgrade ke token sesi
Demi keamanan, token ini hanya digunakan satu kali, jadi sekarang Anda harus menukar token sekali pakai ini dengan token sesi. Proses ini dijelaskan dalam dokumentasi Auth. Cuplikan kode berikut menunjukkan cara mengupgrade token.
yt_service = gdata.youtube.service.YouTubeService() yt_service.SetAuthSubToken(authsub_token) yt_service.UpgradeToSessionToken()
Nilai token ini mewakili token AuthSub sekali pakai. Karena session = True
ditentukan di atas, token ini dapat ditukarkan dengan token sesi AuthSub menggunakan metode UpgradeToSessionToken
, yang memanggil layanan AuthSubSessionToken
.
Objek YouTubeService
Anda kini telah diautentikasi sepenuhnya dan dapat digunakan untuk melakukan semua permintaan lebih lanjut dengan YouTube API. Masa berlaku token sesi AuthSub akan berakhir, kecuali jika Anda secara khusus mengeluarkan permintaan untuk mencabutnya, atau pengguna memutuskan untuk mencabut akses dengan membuka halaman Situs yang Diberi Otorisasi di akun YouTube-nya.
Autentikasi ClientLogin untuk aplikasi terinstal
Autentikasi ClientLogin digunakan dalam aplikasi terinstal yang dapat menyimpan atau menanyakan nama pengguna dan sandi pengguna Anda. Untuk menggunakan bentuk autentikasi ini, panggil metode ProgrammaticLogin
YouTubeService
yang diwarisi dari class gdata.service.GDataService
, dengan menentukan ID dan sandi pengguna yang atas namanya klien Anda mengirimkan permintaan autentikasi.
yt_service = gdata.youtube.service.YouTubeService() yt_service.email = 'jo@gmail.com' yt_service.password = 'mypassword' yt_service.source = 'my-example-application' yt_service.ProgrammaticLogin()
Setelah kredensial ditetapkan, objek YouTubeService
dapat digunakan untuk menangani semua permintaan lebih lanjut. Agar dapat melakukan upload dan semua permintaan 'tulis' (menambahkan komentar, dll.) ke YouTube API, pastikan Anda juga meneruskan kunci developer dan client ID ke objek yt_service
saat melakukan autentikasi:
# A complete client login request yt_service.email = 'jo@gmail.com' yt_service.password = 'mypassword' yt_service.source = 'my-example-application' yt_service.developer_key = 'ABC123...' yt_service.client_id = 'my-example-application' yt_service.ProgrammaticLogin()
Objek YouTubeService
otomatis menetapkan header X-GData-Key
dan X-GData-Client
yang benar saat atribut developer_key
dan client_id
ditetapkan.
Catatan: Lihat dokumentasi autentikasi Google Data API untuk informasi lebih mendetail mengenai mekanisme AuthSub dan ClientLogin.
Memahami feed dan entri video
YouTube Data API menyediakan beberapa feed video yang mewakili daftar video, seperti feed standar, upload, subscription, dan favorit. URL untuk setiap feed didokumentasikan dalam panduan referensi.
Menampilkan feed video
Banyak feed di YouTube API terdiri dari entri video. Feed ini dapat cukup dimodelkan sebagai objek gdata.youtube.YouTubeVideoFeed
, masing-masing berisi sejumlah objek gdata.youtube.YouTubeVideoEntry
. Setiap entri video sesuai dengan tepat satu video di YouTube dan berisi informasi tentang video.
Struktur dasar pengambilan daftar video adalah membuat URL ke feed video, lalu memproses entri satu per satu, mirip dengan kode berikut:
def GetAndPrintVideoFeed(uri): yt_service = gdata.youtube.service.YouTubeService() feed = yt_service.GetYouTubeVideoFeed(uri) for entry in feed.entry: PrintEntryDetails(entry) # full documentation for this function
Bagian Mengambil dan menelusuri video menjelaskan banyak URL feed umum dan cara mengambil berbagai feed video.
Mengambil entri video tertentu
Anda dapat mengambil informasi untuk entri video tertentu saja jika mengetahui ID videonya. URL entri didasarkan pada ID video:
http://gdata.youtube.com/feeds/api/videos/videoID
Kode berikut mengambil gdata.youtube.YouTubeVideoEntry
yang sesuai dengan video di YouTube:
entry = yt_service.GetYouTubeVideoEntry(video_id='the0KZLEacs')
Konten entri video
Ada banyak metadata yang dapat diambil dari objek gdata.youtube.YouTubeVideoEntry
, seperti thumbnail, URL pemutar, dan durasi video. Kode berikut menunjukkan cara mendapatkan beberapa informasi ini. Library klien Python memisahkan sebagian besar fungsi ini dengan memetakan elemen XML ke dalam class. Sebagian besar informasi penting tentang entri YouTubeVideoEntry
tersedia dari turunan atribut media
(berisi objek gdata.media.Group
) dalam entri (mewakili elemen media:group
XML). Berikut adalah contoh cara mengambil metadata:
def PrintEntryDetails(entry): print 'Video title: %s' % entry.media.title.text print 'Video published on: %s ' % entry.published.text print 'Video description: %s' % entry.media.description.text print 'Video category: %s' % entry.media.category[[]0].text print 'Video tags: %s' % entry.media.keywords.text print 'Video watch page: %s' % entry.media.player.url print 'Video flash player URL: %s' % entry.GetSwfUrl() print 'Video duration: %s' % entry.media.duration.seconds # non entry.media attributes print 'Video geo location: %s' % entry.geo.location() print 'Video view count: %s' % entry.statistics.view_count print 'Video rating: %s' % entry.rating.average # show alternate formats for alternate_format in entry.media.content: if 'isDefault' not in alternate_format.extension_attributes: print 'Alternate format: %s | url: %s ' % (alternate_format.type, alternate_format.url) # show thumbnails for thumbnail in entry.media.thumbnail: print 'Thumbnail url: %s' % thumbnail.url
Catatan: Untuk informasi selengkapnya tentang cara membuat informasi yang diperlukan untuk menyematkan video dengan pemutar di halaman Anda, lihat panduan protokol.
Mengambil dan menelusuri video
Mengambil feed standar
YouTube Data API menyediakan feed standar video paling populer di YouTube. API sebelumnya mendukung feed standar lainnya, yang kini sudah tidak digunakan lagi. Lihat Panduan Developer untuk informasi selengkapnya.
URL untuk feed video terpopuler YouTube memiliki format berikut:
http://gdata.youtube.com/feeds/api/standardfeeds/most_popular
Catatan: Anda juga dapat mengambil feed standar khusus lokalitas dengan menentukan lokalitas ID dalam format: http://gdata.youtube.com/feeds/api/standardfeeds/localeID/feedID
. Misalnya, video terpopuler di Jepang adalah: http://gdata.youtube.com/feeds/api/standardfeeds/JP/most_popular
. Untuk daftar lengkap ID lokal yang seharusnya, lihat panduan referensi.
def PrintVideoFeed(feed): for entry in feed.entry: PrintEntryDetails(entry) def GetAndPrintFeedByUrl: yt_service = gdata.youtube.service.YouTubeService() # You can retrieve a YouTubeVideoFeed by passing in the URI uri = 'http://gdata.youtube.com/feeds/api/standardfeeds/JP/most_popular' PrintVideoFeed(yt_service.GetYouTubeVideoFeed(uri))
Mengambil video yang diupload oleh pengguna tertentu
Setiap pengguna YouTube memiliki feed video terkait yang sesuai dengan video yang mereka upload, di http://gdata.youtube.com/feeds/api/users/username/uploads
.
Kode berikut menunjukkan cara mengambil dan menampilkan feed yang diupload pengguna:
def GetAndPrintUserUploads(username): yt_service = gdata.youtube.service.YouTubeService() uri = 'http://gdata.youtube.com/feeds/api/users/%s/uploads' % username PrintVideoFeed(yt_service.GetYouTubeVideoFeed(uri))
Catatan: Anda juga dapat menggunakan string 'default' sebagai pengganti username
untuk mengambil video bagi pengguna yang saat ini diautentikasi.
Mengambil video terkait
Untuk mengambil video terkait, teruskan ID video objek gdata.youtube.YouTubeVideoEntry
ke metode GetYouTubeRelatedVideoFeed
objek gdata.youtube.service.YouTubeService
. Tindakan ini akan mengambil objek YouTubeVideoFeed
yang berisi entri terkait.
related_feed = yt_service.GetYouTubeRelatedVideoFeed(video_id='abc123')
Menelusuri video
Dengan YouTube Data API, Anda dapat meminta kumpulan entri yang cocok dengan kriteria yang ditentukan, seperti meminta entri video yang dipublikasikan oleh penulis tertentu, berdasarkan format video atau berisi kata kunci tertentu. Untuk melakukannya, buat
objek gdata.service.YouTubeVideoQuery
dengan kriteria penelusuran tertentu dan teruskan ke
metode YouTubeQuery
gdata.youtube.service.YouTubeService
.
Contoh di bawah menunjukkan cara melakukan kueri penelusuran, dengan hasil yang diurutkan berdasarkan jumlah penayangan, termasuk video yang dibatasi (disebut sebagai 'Racy' oleh API):
def SearchAndPrint(search_terms): yt_service = gdata.youtube.service.YouTubeService() query = gdata.youtube.service.YouTubeVideoQuery() query.vq = search_terms query.orderby = 'viewCount' query.racy = 'include' feed = yt_service.YouTubeQuery(query) PrintVideoFeed(feed)
Class gdata.service.Query
dan subclass seperti YouTubeVideoQuery
, bertanggung jawab untuk membuat URL feed. VideoQuery
yang ditunjukkan di atas membuat URL yang setara dengan yang berikut:
http://gdata.youtube.com/feeds/api/videos?vq=<searchTerms>&racy=include&orderby=viewCount
Berikut ini beberapa properti YouTubeVideoQuery yang paling umum untuk menyetel parameter penelusuran:
author
- Menetapkan penulis entri. Penulis identik dengan nama pengguna YouTube.
format
- Menentukan format video. Menerima parameter numerik untuk menentukan salah satu dari dua jenis URL streaming RTSP untuk pemutaran video seluler atau URL HTTP ke pemutar Flash yang dapat disematkan.
racy
- Menunjukkan apakah konten yang dibatasi harus disertakan dalam hasil. Hanya menerima dua parameter: 'include' atau 'exclude' (Kecualikan).
max_results
- Menetapkan jumlah maksimum entri yang akan ditampilkan sekaligus.
start_index
- Menetapkan indeks berbasis 1 dari hasil pertama yang akan diambil (untuk paging).
orderby
- Menetapkan urutan daftar entri, seperti menurut
relevance
,viewCount
,published
, ataurating
. time
- Menetapkan jangka waktu untuk membatasi hasil feed standar menjadi:
today
,this_week
,this_month
, atauall_time
. vq
- Menetapkan istilah kueri penelusuran. Menelusuri string tertentu di semua metadata video, seperti judul, tag, dan deskripsi.
Catatan: Untuk informasi lebih lanjut tentang parameter kueri, lihat Panduan Referensi Data API YouTube dan Panduan Referensi Google Data API.
Menelusuri dengan kategori dan kata kunci
Anda dapat membatasi hasil penelusuran agar hanya menampilkan video yang cocok dengan kumpulan kategori dan kata kunci tertentu. Panduan referensi menjelaskan cara menentukan kategori YouTube yang telah ditentukan sebelumnya (seperti Musik, Orang & amp; Blog, dll.) dan kata kunci (tag) yang ditentukan pengguna.
Kode berikut menunjukkan cara melakukan penelusuran menggunakan kata kunci (tag) dengan mengubah istilah penelusuran menjadi huruf kecil. Catatan: Karena beberapa kata (seperti "komedi") dapat berupa kategori YouTube dan kata kunci, kategori dan kueri kata kunci menggunakan konvensi bahwa kata berhuruf kapital ("Komedi") menunjukkan kategori YouTube, sedangkan kata huruf kecil ("komedi") menunjukkan kata kunci.
def SearchAndPrintVideosByKeywords(list_of_search_terms): yt_service = gdata.youtube.service.YouTubeService() query = gdata.youtube.service.YouTubeVideoQuery() query.orderby = 'viewCount' query.racy = 'include' for search_term in list_of_search_terms: new_term = search_term.lower() query.categories.append('/%s' % new_term) feed = yt_service.YouTubeQuery(query) PrintVideoFeed(feed)
Menelusuri menurut Tag developer
Tag developer adalah kata kunci tersembunyi tambahan yang dapat digunakan developer untuk memberi tag pada konten yang diupload melalui aplikasinya oleh pengguna akhir. Tag developer dicocokkan dengan kunci developer yang ditetapkan di header selama proses upload. Kata kunci tersebut tidak dapat dilihat oleh publik dan dapat digunakan untuk mengambil video. Untuk menelusuri video menurut tag developer tertentu, kirim permintaan penelusuran umum YouTube Data API menggunakan kunci developer Anda. Pastikan untuk menentukan skema kategori dan tag developer yang harus cocok dengan video. Anda dapat mengambil feed video yang cocok dengan tag developer Anda (dalam contoh kami 'your_tag_here') dari URL di bawah ini:
developer_tag_uri = 'http://gdata.youtube.com/feeds/videos/-/%7Bhttp%3A%2F%2Fgdata.youtube.com%2Fschemas%2F2007%2Fdevelopertags.cat%7Dyour_tag_here' yt_service = gdata.youtube.service.YouTubeService() PrintVideoFeed(yt_service.GetYouTubeVideoFeed(developer_tag_uri))
Mengupload video
Pastikan untuk meninjau diagram di panduan protokol untuk ringkasan tingkat tinggi tentang proses upload. Mengupload video dapat dilakukan dengan salah satu dari dua cara berikut:
- dengan mengupload video langsung dari server Anda melalui metode Upload Langsung
- atau dengan mengirimkan metadata terlebih dahulu, lalu meminta pengguna mengupload video langsung ke YouTube melalui metode Upload berbasis Browser
Upload langsung
Untuk mengupload video, Anda harus terlebih dahulu membuat objek gdata.youtube.YouTubeVideoEntry
baru, dengan meneruskan objek gdata.media.Group
yang berisi meta-data yang diperlukan. Contoh berikut menunjukkan cara mengupload video Quicktime "mytestmovies.mov" ke YouTube dengan properti berikut:
Properti | Nilai |
---|---|
Judul | Film Pengujian Saya |
Kategori | Otomatis |
Kata kunci | mobil, lucu |
Deskripsi | Deskripsi saya |
Nama file | mytestfilm.mov |
Jenis MIME file | video/cepat |
Video disetel ke pribadi? | salah |
Lokasi video | 37,-122 (lat,panjang) |
Tag Developer | mydevelopertag, tag developer lain |
Kode di bawah membuat YouTubeVideoEntry
kosong untuk diupload. Metode InsertVideoEntry
di YouTubeService
memerlukan parameter berikut:
video_entry
— objekgdata.youtube.VideoEntry
yang berisi meta-datafilename_or_handle
— Objek seperti file atau nama file tempat video akan dibacayoutube_username
— String opsional yang menentukan nama pengguna yang digunakan untuk mengupload video ini. Akun Anda memerlukan izin tentu saja yang sesuai. Defaultnya adalah akun pengguna yang saat ini diautentikasi.content_type
— String opsional yang menentukan jenis MIME video yang akan diupload.
yt_service
mengacu pada objek YouTubeService
yang diautentikasi sepenuhnya.
# prepare a media group object to hold our video's meta-data my_media_group = gdata.media.Group( title=gdata.media.Title(text='My Test Movie'), description=gdata.media.Description(description_type='plain', text='My description'), keywords=gdata.media.Keywords(text='cars, funny'), category=[[]gdata.media.Category( text='Autos', scheme='http://gdata.youtube.com/schemas/2007/categories.cat', label='Autos')], player=None ) # prepare a geo.where object to hold the geographical location # of where the video was recorded where = gdata.geo.Where() where.set_location((37.0,-122.0)) # create the gdata.youtube.YouTubeVideoEntry to be uploaded video_entry = gdata.youtube.YouTubeVideoEntry(media=my_media_group, geo=where) # set the path for the video file binary video_file_location = '/path/to/my/file.mov' new_entry = yt_service.InsertVideoEntry(video_entry, video_file_location)
Jika kita ingin memberi tag pada video dengan tag developer opsional (lihat Menelusuri menurut Tag Developer untuk detail lebih lanjut), kita dapat menggunakan metode AddDeveloperTags
sebelum melakukan panggilan ke InsertVideoEntry
:
developer_tags = [[]'some_tag_01', 'another_tag'] video_entry.AddDeveloperTags(developer_tags)
Catatan: Untuk mengupload video sebagai pribadi, atribut pribadi harus diteruskan ke gdata.media.Group
:
my_media_group = gdata.media.Group( title=gdata.media.Title(text='My Test Movie'), description=gdata.media.Description(description_type='plain', text='My description'), keywords=gdata.media.Keywords(text='cars, funny'), category=[[]gdata.media.Category( text='Autos', scheme='http://gdata.youtube.com/schemas/2007/categories.cat', label='Autos')], player=None, private=gdata.media.Private() ) video_entry = gdata.youtube.YouTubeVideoEntry(media=my_media_group) # assuming that video_file_location points to a valid path new_entry = yt_service.InsertVideoEntry(video_entry, video_file_location)
Upload berbasis browser
Upload berbasis browser dilakukan hampir sama persis dengan upload langsung, kecuali bahwa Anda tidak mengupload biner file dalam permintaan yang sama dengan yang digunakan untuk mengirim metadata. Sebagai gantinya, Anda cukup membuat YouTubeVideoEntry
yang hanya berisi metadata. Entri video ini kemudian diposting ke link khusus di server YouTube API. Respons XML berisi token
dan url
yang kemudian dapat digunakan untuk mengupload file biner menggunakan formulir HTML standar.
# create media group as usual my_media_group = gdata.media.Group( title=gdata.media.Title(text='My Test Movie'), description=gdata.media.Description(description_type='plain', text='My description'), keywords=gdata.media.Keywords(text='cars, funny'), category=[[]gdata.media.Category( text='Autos', scheme='http://gdata.youtube.com/schemas/2007/categories.cat', label='Autos')], player=None ) # create video entry as usual video_entry = gdata.youtube.YouTubeVideoEntry(media=my_media_group) # upload meta data only response = yt_service.GetFormUploadToken(video_entry) # parse response tuple and use the variables to build a form (see next code snippet) post_url = response[[]0] youtube_token = response[[]1]
Kode di atas mencetak link dan token yang digunakan untuk membuat formulir HTML agar ditampilkan di browser pengguna. Contoh formulir sederhana ditunjukkan di bawah ini dengan youtube_token
yang mewakili konten elemen token yang ditampilkan, seperti yang diambil dari YouTubeVideoEntry
di atas. Agar pengguna dialihkan ke situs Anda setelah mengirimkan formulir, pastikan untuk menambahkan parameter next
ke post_url
(seperti yang ditunjukkan di bawah), yang akan berfungsi dengan cara yang sama seperti parameter next
pada link AuthSub. Satu-satunya perbedaan adalah di sini, bukan token sekali pakai, variabel status
dan id
ditampilkan sebagai parameter URL.
next = 'http://example.com/post_video_upload.pyc' form = """<form action="%s?nexturl=%s" method="post" enctype="multipart/form-data"> <input name="file" type="file"/> <input name="token" type="hidden" value="%s"/> <input value="Upload Video File" type="submit" /> </form>""" % (post_url, next, youtube_token)
Respons untuk upload yang berhasil akan terlihat seperti ini:
http://example.com/post_video_upload.pyc?status=200&id=ABC123
Parameter status
menampilkan status transaksi HTTP transaksi upload. Parameter id
menampilkan ID video YouTube yang ditetapkan ke video yang diupload.
Memeriksa status upload
Setelah diupload, video akan langsung terlihat di feed upload pengguna yang telah diautentikasi. Namun, situs tidak akan bersifat publik di situs hingga selesai diproses. Video yang telah ditolak atau gagal diupload juga hanya akan ada di feed upload pengguna yang diautentikasi. Kode berikut memeriksa status YouTubeVideoEntry
untuk mengetahui apakah kode belum aktif atau apakah kode telah ditolak.
upload_status = yt_service.CheckUploadStatus(new_entry) if upload_status is not None: video_upload_state = upload_status[[]0] detailed_message = upload_status[[]1]
Memperbarui dan menghapus video
Memperbarui informasi video
Untuk memperbarui metadata video, cukup perbarui objek YouTubeVideoEntry
, lalu gunakan metode UpdateVideoEntry
objek YouTubeService
. Metode ini mengambil YouTubeVideoEntry
sebagai parameter yang berisi meta-data yang telah diperbarui.
# assuming we have a video entry that was just posted in our 'new_entry' variable new_entry.media.title.text = 'My Updated Video Title' new_entry.media.description.text = 'Just updated' updated_entry = yt_service.UpdateVideoEntry(new_entry)
Menghapus video
Menghapus video sangat mudah dan hanya melibatkan panggilan ke DeleteVideoEntry
dari objek YouTubeService
.
response = yt_service.DeleteVideoEntry(entry_to_be_deleted) if response: print 'Video successfully deleted!'
Menggunakan fitur komunitas
Menambahkan rating
Untuk memberikan rating pada video, gunakan metode AddRating
dari objek YouTubeService
. Perhatikan bahwa Anda tidak dapat memberi rating pada video Anda sendiri dan rating tersebut harus antara 1 dan 5 (inklusif):
video_id_to_rate = 'Ncakifd_16k' video_entry = yt_service.GetYouTubeVideoEntry(video_id=video_id_to_rate) response = yt_service.AddRating(3, video_entry)
Komentar
Mengambil komentar untuk video
Dengan objek YouTubeVideoEntry
atau ID video sederhana, Anda dapat mengambil dan mencetak feed yang berisi komentar untuk video menggunakan metode GetYouTubeVideoCommentFeed
dari objek YouTubeService
. Feed yang dihasilkan adalah gdata.youtube.YouTubeCommentFeed
, yang terdiri dari objek gdata.youtube.YouTubeCommentEntry
. Feed dapat diuraikan seperti feed lainnya:
video_id = 'ABC123...' comment_feed = yt_service.GetYouTubeVideoCommentFeed(video_id=video_id) for comment_entry in comment_feed.entry: print comment_entry.ToString()
Menambahkan komentar
Untuk menambahkan komentar baru, simulasikan penggunaan metode AddComment
dari objek YouTubeService
. Metode ini memerlukan objek YouTubeVideoEntry
lengkap yang akan diberi komentar, serta string yang mewakili komentar:
my_comment = 'what a boring test video' video_id = '9g6buYJTt_g' video_entry = yt_service.GetYouTubeVideoEntry(video_id=video_id) yt_service.AddComment(comment_text=my_comment, video_entry=video_entry)
Tanggapan Video
Respons video YouTube adalah video yang terkait, sebagai balasan, dengan video kedua. Fitur respons video telah dihentikan seperti yang dijelaskan dalam pengumuman ini. Meskipun respons video yang ada masih tersedia, YouTube tidak lagi mendukung kemampuan untuk mengambil daftar respons video untuk video, mengupload respons video baru, atau menghapus respons video, meskipun Anda dapat menghapus video yang digunakan dalam respons video. Akibatnya, fungsi ini juga tidak lagi didukung di API.
Permintaan API untuk operasi respons video kini menampilkan hal berikut:
- Permintaan untuk mengambil respons video untuk video akan menampilkan daftar kosong.
- Permintaan untuk menambahkan respons video akan menampilkan kode respons HTTP 403.
- Permintaan untuk menghapus respons video akan menampilkan kode respons HTTP 403.
Melaporkan video
Menambahkan keluhan tentang video dilakukan dengan metode AddComplaint
pada objek YouTubeService
. Istilah keluhan harus berupa kategori yang valid. Harap buka bagian Menambahkan keluhan di panduan protokol untuk informasi selengkapnya.
video_id_to_flag = 'Ncakifd_16k' complaint_term = 'VIOLENCE' complaint_text = ('Please ignore this complaint. ' 'I\'m testing a YouTube API and needed to issue ' 'a complaint to test the add complaint function. ') response = yt_service.AddComplaint(complaint_text, complaint_term, video_id_to_flag)
Menyimpan dan mengumpulkan video
Video favorit
Mengambil video favorit pengguna
Pengguna YouTube dapat memilih untuk menandai video yang mereka tonton sebagai favorit. Lokasi umum untuk feed favorit pengguna adalah URL berikut.
http://gdata.youtube.com/feeds/api/users/username/favorites
Untuk mengambil video favorit pengguna, gunakan metode GetUserFavoritesFeed
dari objek YouTubeService
. Metode ini mengambil string opsional sebagai parameter yang mewakili nama pengguna YouTube milik pengguna yang feed favoritnya akan diambil.
favorite_feed = yt_service.GetUserFavoritesFeed(username='gdpython')
Feed yang ditampilkan adalah feed video reguler, yang berisi objek YouTubeVideoEntry
.
Catatan: Atau, Anda dapat meneruskan string default
untuk mengambil favorit pengguna yang sedang diautentikasi. Ini adalah perilaku default metode GetUserFavoritesFeed
jika tidak ada nama pengguna yang diberikan.
Menambahkan favorit
Untuk menambahkan video favorit, gunakan metode AddVideoEntryToFavorites
objek YouTubeService
. Parameternya adalah YouTubeVideoEntry
yang akan ditambahkan dan, secara opsional, nama pengguna yang akan ditambahkan ke favorit (default-nya adalah pengguna yang saat ini diautentikasi).
video_id = 'Ncakifd_16k' video_entry = yt_service.GetYouTubeVideoEntry(video_id=video_id) response = yt_service.AddVideoEntryToFavorites(video_entry) # The response, if successfully posted is a YouTubeVideoEntry if isinstance(response, gdata.youtube.YouTubeVideoEntry): print 'Video successfully added to favorites'
Menghapus favorit
Untuk menghapus favorit, cukup gunakan metode DeleteVideoEntryFromFavorites
dari objek YouTubeService
.
video_id = 'Ncakifd_16k' response = yt_service.DeleteVideoEntryFromFavorites(video_id) if response is True: print 'Video deleted from favorites'
Playlist
Setiap pengguna YouTube memiliki feed playlist yang berisi semua playlist yang telah dibuat pengguna. Setiap playlist kemudian memiliki feed untuk semua video yang ada di dalamnya.
Mengambil playlist pengguna
Untuk mengambil daftar semua playlist pengguna secara manual, gunakan URL berikut:
http://gdata.youtube.com/feeds/api/users/username/playlists
Dengan menggunakan library klien Python, Anda dapat menggunakan metode GetYouTubePlaylistFeed
dari objek YouTubeService
:
playlist_feed = yt_service.GetYouTubePlaylistFeed(username='gdpython') # instead of passing in a username, you can also pass the URI to the playlist feed: playlist_feed = yt_service.GetYouTubePlaylistFeed(uri='http://gdata.youtube.com/feeds/api/users/default/playlists')
Catatan: Daripada meneruskan nama pengguna tertentu (seperti 'gdpython' pada contoh di atas), Anda juga dapat meneruskan string 'default'
untuk merujuk ke pengguna yang saat ini diautentikasi.
gdata.youtube.YouTubePlaylistFeed
merepresentasikan feed objek gdata.youtube.YouTubePlaylistEntry
. Hal ini mengacu pada playlist individual yang mungkin dimiliki pengguna. Entri video di playlist tertentu direpresentasikan sebagai objek gdata.youtube.YouTubePlaylistVideoEntry
. Objek ini sangat mirip dengan objek gdata.youtube.YouTubeVideoEntry
biasa dengan beberapa pengecualian. Judul dan deskripsi kustom dapat diterapkan ke video, dan kolom posisi menunjukkan tempat video muncul di playlist.
Mengambil informasi playlist
Dengan YouTubePlaylistEntry
(mewakili playlist tertentu), Anda dapat memperoleh YouTubePlaylistVideoFeed
yang berisi objek YouTubePlaylistVideoEntry
. Seperti yang dijelaskan di atas, objek ini merepresentasikan video individual pada playlist (dengan judul dan deskripsi kustom opsional). Anda dapat memperoleh feed ini dengan meneruskan URI playlist ke metode GetYouTubePlaylistVideoFeed
objek YouTubeService
:
# a typical playlist URI playlist_uri = 'http://gdata.youtube.com/feeds/api/playlists/BCB3BB96DF51B505' playlist_video_feed = yt_service.GetYouTubePlaylistVideoFeed(uri=playlist_uri) # iterate through the feed as you would with any other for playlist_video_entry in playlist_video_feed.entry: print playlist_video_entry.title.text
Menambahkan playlist
Untuk menambahkan playlist baru, cukup gunakan metode AddPlaylist
dari objek YouTubeService
. Metode ini menggunakan parameter berikut: playlist_title, playlist_description (kedua string) dan boolean opsional yang dapat ditetapkan ke True
jika playlist ditandai sebagai pribadi.
new_public_playlistentry = yt_service.AddPlaylist('my new playlist', 'a new playlist') if isinstance(new_public_playlistentry, gdata.youtube.YouTubePlaylistEntry): print 'New playlist added' # adding a private playlist new_private_playlistentry = yt_service.AddPlaylist('new private playlist', 'a new private playlist', True) if isinstance(new_private_playlistentry, gdata.youtube.YouTubePlaylistEntry): print 'New private playlist added'
Memperbarui playlist
Untuk memperbarui playlist, gunakan metode UpdatePlaylist
dari objek YouTubeService
. Metode ini menggunakan parameter berikut: id playlist yang akan diperbarui, judul baru, deskripsi baru, boolean opsional untuk menandai playlist sebagai pribadi dan string opsional yang menunjukkan nama pengguna yang memiliki playlist. String akan ditetapkan secara default ke pengguna yang saat ini diautentikasi.
# here we are updating a public playlist with a new title while also making it private # we assume that playlist_to_be_updated here represents a YouTubePlaylistEntry object playlist_entry_id = playlist_to_be_updated.id.text.split('/')[[]-1] # we want to keep the original description for the playlist so we store it first original_description = playlist_to_be_updated.description.text updated_playlist = yt_service.UpdatePlaylist(playlist_entry_id, 'a new updated title', original_playlist_description, playlist_private=True)
Tambahkan video ke playlist
Anda dapat menambahkan video ke playlist dengan menggunakan metode AddPlaylistVideoEntryToPlaylist
dari objek YouTubeService
. Kode di bawah menambahkan video ke playlist, dengan judul dan deskripsi kustom.
custom_video_title = 'my test video on my test playlist' custom_video_description = 'this is a test video on my test playlist' video_id = 'Ncakifd_16k' playlist_uri = 'http://gdata.youtube.com/feeds/api/playlists/BCB3BB96DF51B505' playlist_video_entry = yt_service.AddPlaylistVideoEntryToPlaylist( playlist_uri, video_id, custom_video_title, custom_video_description) if isinstance(playlist_video_entry, gdata.youtube.YouTubePlaylistVideoEntry): print 'Video added'
Catatan: Perlu diperhatikan bahwa judul dan deskripsi kustom tidak diperlukan, dan jika tidak ditentukan, judul dan deskripsi video yang sebenarnya akan digunakan.
Edit info video di playlist
Gunakan metode UpdatePlaylistVideoEntryMetaData
dari objek YouTubeService
untuk mengubah metadata untuk YouTubePlaylistVideoEntry
. Dalam contoh di bawah ini, kami memutuskan untuk memberi judul khusus baru untuk video kami dan memindahkannya ke posisi pertama (posisi 1) di playlist kami.
playlist_uri = 'http://gdata.youtube.com/feeds/api/playlists/BCB3BB96DF51B505' playlist_entry_id = 'B0F29389E537F888' new_video_title = 'a useful video' new_video_description = 'updated video description' updated_playlist_video_entry = yt_service.UpdatePlaylistVideoEntryMetaData( playlist_uri, playlist_entry_id, new_video_title, new_video_description, 1)
Catatan: Jika Anda ingin mengembalikan deskripsi dan judul video pada playlist kembali ke metadata asli, cukup teruskan NULL
untuk judul dan deskripsi.
Hapus video dari playlist
Untuk menghapus video dari playlist, gunakan metode DeletePlaylistVideoEntry
dari objek YouTubeService
. Metode ini memerlukan URI playlist yang berisi entri yang akan dihapus serta ID entrinya:
playlist_uri = 'http://gdata.youtube.com/feeds/api/playlists/BCB3BB96DF51B505' playlist_entry_id = 'B0F29389E537F888' response = yt_service.DeletePlaylistVideoEntry(playlist_uri, playlist_entry_id) if response is True: print 'Entry successfully deleted'
Menghapus daftar putar
Untuk menghapus playlist, cukup gunakan metode DeletePlaylist
dari objek YouTubeService
, dengan meneruskan URI playlist yang akan dihapus:
playlist_uri = 'http://gdata.youtube.com/feeds/api/playlists/BCB3BB96DF51B505' response = yt_service.DeletePlaylist(playlist_uri) if response is True: print 'Playlist successfully deleted'
Subscription
Untuk mengambil daftar saluran, penelusuran, dan favorit langganan pengguna tertentu, gunakan URI berikut:
http://gdata.youtube.com/feeds/api/users/username/subscriptions
Catatan: Atau, Anda dapat meneruskan string default
untuk mengambil favorit pengguna yang sedang diautentikasi.
Mengambil langganan pengguna
Kode berikut menunjukkan cara mengambil dan mencetak daftar langganan untuk pengguna tertentu. Langganan direpresentasikan sebagai gdata.youtube.YouTubeSubscriptionFeed
yang terdiri dari objek gdata.youtube.YouTubeSubscriptionEntry
. Untuk mengambil langganan, gunakan metode GetYouTubeSubscriptionFeed
dari objek YouTubeService
, dengan meneruskan URI feed langganan atau nama pengguna yang feed langganannya akan diambil. Parameter nama pengguna ditetapkan secara default ke pengguna yang saat ini diautentikasi.
subscription_feed = yt_service.GetYouTubeSubscriptionFeed(username='gdpython') if isinstance(subscription_feed, gdata.youtube.YouTubeSubscriptionFeed)): # given a YouTubeSubscriptionEntry we can determine it's type (channel, favorite, or query) for entry in subscription_feed.entry: print entry.GetSubscriptionType()
Menambahkan langganan
Anda dapat membuat langganan baru dengan menyisipkan YouTubeSubsciptionEntry
baru ke feed langganan pengguna terautentikasi. Kita dapat membuat tiga jenis langganan: Langganan ke saluran pengguna (menggunakan AddSubscriptionToChannel
), langganan ke favorit pengguna (menggunakan AddSubscriptionToFavorites
, atau langganan ke kata kunci tertentu (menggunakan AddSubscriptionToQuery
). Kode berikut membuat pengguna yang diautentikasi berlangganan ke saluran "GoogleDevelopers".
new_subscription = yt_service.AddSubscriptionToChannel( username_to_subscribe_to='GoogleDevelopers') if isinstance(new_subscription, gdata.youtube.YouTubeSubscriptionEntry): print 'New subscription added'
Anda juga dapat berlangganan ke favorit pengguna "GoogleDevelopers":
new_subscription = yt_service.AddSubscriptionToFavorites( username='GoogleDevelopers') if isinstance(new_subscription, gdata.youtube.YouTubeSubscriptionEntry): print 'New subscription added'
Terakhir, Anda juga dapat berlangganan istilah penelusuran tertentu. Di sini, kami berlangganan kueri untuk video yang diberi tag "python".
new_subscription = yt_service.AddSubscriptionToQuery(query='python') if isinstance(new_subscription, gdata.youtube.YouTubeSubscriptionEntry): print 'New subscription added'
Menghapus langganan
Untuk menghapus langganan pengguna, gunakan metode DeleteSubscription
dari objek YouTubeService
.
sample_subscription_uri = ('http://gdata.youtube.com/feeds/api/users/' 'gdpython/subscriptions/c0c77ca6102a7479') response = yt_service.DeleteSubscription(sample_subscription_uri) if response is True: print 'Subscription successfully deleted'
Memungkinkan interaksi pengguna
Profil Pengguna
Mengambil profil pengguna
Untuk mengambil profil YouTube pengguna secara manual, gunakan URI berikut:
http://gdata.youtube.com/feeds/api/users/username
Anda dapat mengambil gdata.youtube.YouTubeUserEntry
dengan metode GetYouTubeUserEntry
dari objek YouTubeService
.
user_entry = yt_service.GetYouTubeUserEntry(username='gdpython') # we can then write a helper function to print out the user details def PrintUserEntry(entry): # print required fields where we know there will be information print 'URI: %s\n' % entry.id.text print 'Age: %s\n' % entry.age.text print 'Gender: %s\n' % entry.gender.text print 'Location: %s\n' % entry.location.text # check if there is information in the other fields and if so print it if user.first_name: print 'First Name: %s\n' % user.first_name.text if user.last_name: print 'Last Name: %s\n' % user.last_name.text if user.relationship: print 'Relationship: %s\n' % user.relationship.text if user.description: print 'About me: %s\n' % user.description.text for link in user.link: if link.rel == 'related': print 'Website: %s\n' % link.href if user.company: print 'Company: %s\n' % user.company.text if user.occupation: print 'Occupation: %s\n' % user.occupation.text if user.school: print 'School: %s\n' % user.school.text if user.hobbies: print 'Hobbies: %s\n' % user.hobbies.text if user.movies: print 'Movies: %s\n' % user.movies.text if user.music: print 'Music: %s\n' % user.music.text if user.books: print 'Books: %s\n' % user.books.text if user.hometown: print 'Hometown: %s\n' % user.hometown.text
Kontak
Daftar kontak untuk pengguna tertentu dapat diambil dari URL berikut:
http://gdata.youtube.com/feeds/api/users/username/contacts
Mengambil kontak pengguna
Metode GetYouTubeContactFeed
dari objek YouTubeService
dapat digunakan untuk mengambil gdata.youtube.YouTubeContactFeed
, yang terdiri dari objek gdata.youtube.YouTubeContactEntry
.
contact_feed = yt_service.GetYouTubeContactFeed(username='GoogleDevelopers') for entry in contact_feed.entry: print entry.title.text # find the apprpriate category element to find out the contact type for category in entry.category: if category.scheme == 'http://gdata.youtube.com/schemas/2007/contact.cat': print category.term
Menambahkan kontak
Untuk menambahkan kontak baru ke feed kontak pengguna, gunakan metode AddContact
objek YouTubeService
.
new_contact = yt_service.AddContact(contact_username='GoogleDevelopers') if isinstance(new_contact, gdata.youtube.YouTubeContactEntry) print 'New contact added'
Menerima/menolak kontak
Untuk memperbarui kontak, gunakan metode UpdateContact
dari objek YouTubeService
. Metode ini dapat digunakan untuk menerima/menolak permintaan kontak dan juga untuk mengategorikan kontak sebagai 'Teman' atau 'Keluarga'. Dalam contoh di bawah ini, kita menerima kontak, kemudian menetapkan kategorinya menjadi 'Family':
# in this case user 'gdpython' has requested to be our contact #so the original contact status is 'pending' updated_contact = yt_service.UpdateContact('gdpython', 'accepted', 'Family') if isinstance(updated_contact, gdata.youtube.YouTubeContactEntry) print 'New contact added'
Menghapus kontak
Untuk menghapus kontak, gunakan metode DeleteContact
dari objek YouTubeService
, dengan meneruskan nama pengguna kontak yang ingin Anda hapus.
response = yt_service.DeleteContact(contact_username='gdpython') if response is True: print 'Contact deleted'