YouTube Data API memungkinkan aplikasi klien 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 membuat kueri untuk video yang cocok dengan kriteria tertentu.
Selain memberikan beberapa 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 selengkapnya.
Jika Anda memerlukan bantuan untuk menyiapkan library klien Python, baca Panduan Memulai. Jika Anda tertarik untuk lebih memahami protokol dasar yang digunakan oleh library klien Python untuk berinteraksi dengan YouTube, lihat halaman protokol Panduan Developer.
Tentang dokumen ini
Audiens
Dokumen ini ditujukan bagi programmer yang ingin menulis aplikasi klien yang dapat berinteraksi dengan YouTube menggunakan library klien Python. API ini menyediakan serangkaian contoh interaksi API data dasar.
Untuk informasi referensi YouTube Data API, lihat panduan referensi.
Dokumen ini mengasumsikan bahwa Anda memahami ide umum di balik protokol Google Data API, dan bahwa Anda tahu cara memprogram dalam 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 Autentikasi 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 fungsi API tertentu akan menunjukkan dengan jelas apakah fungsi tersebut memerlukan autentikasi pengguna. Secara umum, semua permintaan yang mengubah data video atau feed 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 kumpulan hasil penelusuran. Bagian ini juga menjelaskan cara mengakses metadata tentang entri video tertentu. Terakhir, bagian ini menjelaskan mekanisme untuk memperbarui setiap entri video.
-
Bagian Mengambil dan menelusuri video menjelaskan cara mengambil daftar video tertentu, seperti feed standar video paling populer di 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 berdasarkan istilah penelusuran atau kategori tertentu.
-
Bagian Mengupload video menjelaskan secara singkat dua cara yang dapat Anda gunakan 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 Memperbarui dan menghapus video menjelaskan cara menggunakan API untuk memperbarui informasi tentang video YouTube. Panduan 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. Video ini juga menunjukkan cara mengubah playlist dan video favorit 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 beberapa 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+ dan modul Element Tree, httplib, dan urllib. Lihat Modul Dependensi untuk detail selengkapnya.
Lihat Panduan Memulai untuk informasi selengkapnya tentang mengonfigurasi lingkungan Anda. Jika Anda tertarik untuk lebih memahami protokol dasar yang digunakan oleh library klien Python untuk berinteraksi dengan YouTube, lihat halaman protokol Panduan Developer.
Cuplikan kode contoh di bawah dapat disalin/ditempelkan ke kode Anda dan diubah agar sesuai dengan kebutuhan Anda.
Sebelum dapat melakukan operasi apa pun dengan YouTube Data API, Anda harus menginisialisasi objek gdata.youtube.service.YouTubeService
, seperti yang ditunjukkan di bawah. Pernyataan import
yang tercantum di bawah akan otomatis melakukan impor 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
. Sebaiknya uji 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 informasi selengkapnya.
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
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 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 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 perlu mengautentikasi penggunanya 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 memberikan otorisasi atas 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 yang akan dituju YouTube untuk mengalihkan pengguna setelah mereka mengizinkan aplikasi Anda mengakses akun mereka.
- scope — menunjukkan bahwa aplikasi hanya akan mengakses feed YouTube API.
- secure — menunjukkan bahwa token yang ditampilkan tidak akan menjadi token yang aman.
- session — menunjukkan bahwa token ini dapat ditukar 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 mengizinkan aplikasi Anda untuk mengakses akunnya, mereka 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 sekali pakai, jadi sekarang Anda perlu menukar token sekali pakai ini dengan token sesi. Proses ini dijelaskan dalam dokumentasi AuthSub. 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 ditukar dengan token sesi AuthSub menggunakan metode UpgradeToSessionToken
, yang memanggil layanan AuthSubSessionToken
.
Objek YouTubeService
Anda kini sepenuhnya diautentikasi dan dapat digunakan untuk melakukan semua permintaan lebih lanjut dengan YouTube API. Token sesi AuthSub tidak akan berakhir masa berlakunya kecuali jika Anda secara khusus mengeluarkan permintaan untuk mencabutnya, atau pengguna memutuskan untuk mencabut akses dengan membuka halaman Situs yang Diizinkan di akun YouTube-nya.
Autentikasi ClientLogin untuk aplikasi yang diinstal
Autentikasi ClientLogin digunakan di aplikasi terinstal yang dapat menyimpan atau mengkueri nama pengguna dan sandi pengguna Anda. Untuk menggunakan bentuk autentikasi ini, panggil metode ProgrammaticLogin
dari YouTubeService
yang diwarisi dari
class gdata.service.GDataService
, yang menentukan ID dan sandi pengguna yang atas namanya klien Anda mengirim permintaan untuk diautentikasi.
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 jenis permintaan 'tulis' apa pun (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
secara otomatis menetapkan header X-GData-Key
dan X-GData-Client
yang benar saat atribut developer_key
dan client_id
ditetapkan.
Catatan: Silakan baca dokumentasi autentikasi Google Data API untuk mengetahui informasi yang lebih mendetail tentang 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 paling mudah dimodelkan sebagai objek gdata.youtube.YouTubeVideoFeed
, yang masing-masing berisi sejumlah objek gdata.youtube.YouTubeVideoEntry
. Setiap entri video sesuai dengan tepat satu video di YouTube dan berisi informasi tentang video tersebut.
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 hanya dapat mengambil informasi untuk entri video tertentu 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 bagian 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 video:
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 YouTube yang paling populer. API ini sebelumnya mendukung feed standar lainnya, yang sejak saat itu tidak digunakan lagi. Lihat Panduan Developer untuk mengetahui 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 localeID dalam format: http://gdata.youtube.com/feeds/api/standardfeeds/localeID/feedID
. Misalnya, video paling populer di Jepang adalah: http://gdata.youtube.com/feeds/api/standardfeeds/JP/most_popular
. Untuk mengetahui daftar lengkap localeID yang diduga, 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 telah mereka upload, di http://gdata.youtube.com/feeds/api/users/username/uploads
.
Kode berikut menunjukkan cara mengambil dan menampilkan feed upload 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
YouTube Data API memungkinkan Anda meminta kumpulan entri yang cocok dengan
kriteria yang ditentukan, seperti meminta entri video yang dipublikasikan oleh
penulis tertentu, menurut format video, atau berisi kata kunci tertentu. Untuk melakukannya, Anda
membuat objek gdata.service.YouTubeVideoQuery
dengan kriteria penelusuran tertentu dan meneruskannya ke
metode YouTubeQuery
gdata.youtube.service.YouTubeService
.
Contoh di bawah menunjukkan cara menjalankan kueri penelusuran, dengan hasil yang diurutkan berdasarkan jumlah penayangan, termasuk video yang dibatasi (disebut sebagai 'Vulgar' 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 ditampilkan di atas membuat URL yang setara dengan URL berikut:
http://gdata.youtube.com/feeds/api/videos?vq=<searchTerms>&racy=include&orderby=viewCount
Berikut beberapa properti YouTubeVideoQuery yang paling umum untuk menetapkan parameter penelusuran:
author
- Menetapkan penulis entri. Penulis sama 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'.
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 untuk mencantumkan entri, seperti menurut
relevance
,viewCount
,published
, ataurating
. time
- Menetapkan jangka waktu untuk membatasi hasil feed standar ke:
today
,this_week
,this_month
, atauall_time
. vq
- Menetapkan istilah kueri penelusuran. Menelusuri string yang ditentukan di semua metadata video, seperti judul, tag, dan deskripsi.
Catatan: Untuk mengetahui informasi selengkapnya tentang parameter kueri, lihat Panduan Referensi YouTube Data API 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 & Blog, dll.) dan kata kunci (tag) yang ditentukan pengguna.
Kode berikut menunjukkan cara menelusuri menggunakan kata kunci (tag) dengan mengubah istilah penelusuran menjadi huruf kecil. Catatan: Karena beberapa kata (seperti "komedi") dapat berupa kategori YouTube dan kata kunci, kueri kategori dan kata kunci menggunakan konvensi bahwa kata berhuruf besar ("Komedi") menunjukkan kategori YouTube, sedangkan kata berhuruf 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 berdasarkan Tag developer
Tag developer adalah kata kunci tersembunyi tambahan yang dapat digunakan developer untuk memberi tag pada konten yang diupload melalui aplikasi mereka oleh pengguna akhir. Tag developer dicocokkan dengan kunci developer yang ditetapkan di header selama upload. Kata kunci ini tidak akan terlihat oleh publik dan dapat digunakan untuk mengambil video. Untuk menelusuri video berdasarkan tag developer tertentu, kirim permintaan penelusuran YouTube Data API umum 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 ('your_tag_here' dalam contoh kami) dari URL di bawah:
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 proses upload secara umum. 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 membuat objek gdata.youtube.YouTubeVideoEntry
baru terlebih dahulu, dengan meneruskan objek gdata.media.Group
yang berisi metadata yang diperlukan. Contoh berikut menunjukkan upload video Quicktime "mytestmovie.mov" ke YouTube dengan properti berikut:
Properti | Nilai |
---|---|
Judul | Film Pengujian Saya |
Kategori | Otomotif |
Kata kunci | mobil, lucu |
Deskripsi | Deskripsi saya |
Nama file | mytestmovie.mov |
Jenis MIME file | video/quicktime |
Video bersifat pribadi? | false |
Lokasi video | 37,-122 (lat,long) |
Tag Developer | mydevelopertag, anotherdevelopertag |
Kode di bawah membuat YouTubeVideoEntry
kosong untuk diupload. Metode InsertVideoEntry
di YouTubeService
memerlukan parameter berikut:
video_entry
— objekgdata.youtube.VideoEntry
yang berisi metadatafilename_or_handle
— Objek mirip file atau nama file tempat video akan dibacayoutube_username
— String opsional yang menentukan nama pengguna akun tempat video ini akan diupload. Tentu saja, akun Anda memerlukan izin yang sesuai. Setelan default-nya adalah akun pengguna yang saat ini diautentikasi.content_type
— String opsional yang menentukan jenis MIME video yang akan diupload.
yt_service
merujuk ke 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 ingin memberi tag pada video dengan tag developer opsional (lihat Menelusuri menurut Tag Developer untuk mengetahui detail selengkapnya), 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 dengan upload langsung, kecuali Anda tidak mengupload biner file dalam permintaan yang sama dengan yang Anda gunakan untuk mengirim metadata video. 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 yang akan ditampilkan di browser pengguna. Contoh formulir sederhana ditampilkan di bawah dengan youtube_token
yang mewakili konten elemen token yang ditampilkan, seperti yang ditampilkan 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
dari link AuthSub. Satu-satunya perbedaan adalah di sini, variabel status
dan id
ditampilkan sebagai parameter URL, bukan token sekali pakai.
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 dari 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 diautentikasi. Namun, video tidak akan ditampilkan secara publik di situs hingga diproses. Video yang telah ditolak atau gagal diupload juga hanya akan ada di feed upload pengguna yang diautentikasi. Kode berikut memeriksa status YouTubeVideoEntry
untuk melihat apakah belum ditayangkan atau 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 menggunakan YouTubeVideoEntry
sebagai parameter yang berisi metadata yang 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 sangatlah 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 memberi rating pada video, gunakan metode AddRating
dari objek YouTubeService
. Perhatikan bahwa Anda tidak dapat memberi rating pada video Anda sendiri dan rating 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, cukup gunakan 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)
Respons Video
Respons video YouTube adalah video yang dikaitkan, 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 sebuah 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 sebuah 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. Lihat bagian Menambahkan keluhan dalam panduan protokol untuk mengetahui 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 menggunakan string opsional sebagai parameter yang mewakili nama pengguna YouTube 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 bagi pengguna yang saat ini 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 favoritnya akan ditambahkan (defaultnya 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, Anda akan menggunakan 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' dalam contoh di atas), Anda juga dapat meneruskan string 'default'
untuk merujuk ke pengguna yang saat ini diautentikasi.
gdata.youtube.YouTubePlaylistFeed
mewakili feed objek gdata.youtube.YouTubePlaylistEntry
. Ini mengacu pada setiap playlist 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
(yang mewakili playlist tertentu), Anda bisa mendapatkan YouTubePlaylistVideoFeed
yang berisi objek YouTubePlaylistVideoEntry
. Seperti yang dijelaskan di atas, objek ini mewakili setiap video di playlist (dengan judul dan deskripsi kustom opsional). Anda bisa mendapatkan feed ini dengan meneruskan URI playlist ke metode GetYouTubePlaylistVideoFeed
dari 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 (keduanya berupa string) dan boolean opsional yang dapat disetel ke True
jika playlist akan 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 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: Perhatikan bahwa judul dan deskripsi kustom tidak diperlukan, dan jika tidak ditentukan, judul dan deskripsi sebenarnya dari video akan digunakan.
Mengedit info video di playlist
Gunakan metode UpdatePlaylistVideoEntryMetaData
dari objek YouTubeService
untuk mengubah metadata YouTubePlaylistVideoEntry
. Pada contoh di bawah, kita memutuskan untuk memberi video judul kustom baru dan memindahkannya ke posisi pertama (posisi 1) di playlist.
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 di playlist ke metadata aslinya, 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 entri:
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'
Langganan
Untuk mengambil daftar channel, penelusuran, dan favorit yang diikuti pengguna tertentu, gunakan URI berikut:
http://gdata.youtube.com/feeds/api/users/username/subscriptions
Catatan: Atau, Anda dapat meneruskan string default
untuk mengambil favorit bagi pengguna yang saat ini 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 secara default ditetapkan 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 yang diautentikasi. Kita dapat membuat tiga jenis subscription: Subscription ke channel pengguna (menggunakan AddSubscriptionToChannel
), subscription ke favorit pengguna (menggunakan AddSubscriptionToFavorites
, atau subscription ke kata kunci tertentu (menggunakan AddSubscriptionToQuery
). Kode berikut akan membuat pengguna yang diautentikasi berlangganan ke channel "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 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, kita 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'
Mengaktifkan interaksi pengguna
Profil Pengguna
Mengambil profil pengguna
Untuk mengambil profil YouTube pengguna secara manual, Anda akan menggunakan 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
dari 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, kita menerima kontak, lalu menetapkan kategorinya ke 'Keluarga':
# 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'