Panduan Developer: Python

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.

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

PropertiNilai
JudulFilm Pengujian Saya
KategoriOtomotif
Kata kuncimobil, lucu
DeskripsiDeskripsi saya
Nama filemytestmovie.mov
Jenis MIME filevideo/quicktime
Video bersifat pribadi?false
Lokasi video37,-122 (lat,long)
Tag Developermydevelopertag, anotherdevelopertag

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

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

Kembali ke atas