Panduan Developer: Python

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.

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, atau rating.
time
Menetapkan jangka waktu untuk membatasi hasil feed standar menjadi: today, this_week, this_month, atau all_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:

PropertiNilai
JudulFilm Pengujian Saya
KategoriOtomatis
Kata kuncimobil, lucu
DeskripsiDeskripsi saya
Nama filemytestfilm.mov
Jenis MIME filevideo/cepat
Video disetel ke pribadi?salah
Lokasi video37,-122 (lat,panjang)
Tag Developermydevelopertag, tag developer lain

Kode di bawah membuat YouTubeVideoEntry kosong untuk diupload. Metode InsertVideoEntry di YouTubeService memerlukan parameter berikut:

  • video_entry — objek gdata.youtube.VideoEntry yang berisi meta-data
  • filename_or_handle — Objek seperti file atau nama file tempat video akan dibaca
  • youtube_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.
Perhatikan bahwa contoh ini mengasumsikan bahwa variabel 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'

Kembali ke atas