1 Pertanyaan: Kesalahan API Youtube v3 - 'Tidak Ada Filter yang Dipilih'

pertanyaan dibuat di Thu, May 21, 2015 12:00 AM

Saya menggunakan Youtube V3 Api dan inilah cuplikan kode untuk menarik sepuluh video teratas dari saluran youtube saya. (Permintaan yang sama ini berfungsi dengan baik di google API explorer @ https://developers.google.com/apis- penjelajah /)

 
url_start = "https://www.googleapis.com/youtube/v3/videos?" + \ 
            "order=viewCount&part=snippet&forMine=true" + \
            "&type=video&maxResults=10&key=MY_API_KEY"
data = requests.get(url_start).json()

Tapi saya mendapatkan kesalahan ini:

 
{u'error': {u'code': 400,
            u'message': u'No filter selected.',
            u'errors':[{u'locationType': u'parameter',
                        u'domain': u'youtube.parameter',
                        u'message': u'No filter selected.',
                        u'reason': u'missingRequiredParameter',
                        u'location': u''}]}}

Saya tahu kuncinya valid karena jika saya dapat melakukan permintaan yang sama tanpa forMine

 
https://www.googleapis.com/youtube/v3/search?part=snippet&key=MY_API_KEY

Dan saya mendapatkan video teratas secara keseluruhan dari youtube. Apakah ada cara yang lebih baik untuk melakukan ini atau solusinya?

    
5
1 Jawaban                              1                         

Parameter forMine hanya berfungsi untuk pengguna yang diautentikasi ( orang yang telah melalui aliran oAuth2 dengan aplikasi Anda), jadi parameter yang hilang yang dikeluhkan permintaan Anda adalah token akses yang diperlukan.

Jika tujuan Anda adalah menjalankan skrip pribadi yang menunjukkan sepuluh video teratas Anda pada waktu tertentu, maka Anda dapat mengatur rutinitas sementara di aplikasi Anda yang akan memungkinkan Anda untuk mengautentikasi secara manual dengan oAuth2 dan menangkap token penyegaran. ; jika Anda menyimpannya, maka pada permintaan di masa mendatang token penyegaran dapat memperoleh token akses tanpa Anda harus mengotorisasi dengan tangan.

Jika tujuan Anda adalah membuat dasbor sehingga pengguna Anda dapat melihat sepuluh video teratas mereka sendiri, maka Anda hanya perlu memasukkan autentikasi oAuth2 ke alur Anda, dan mengirimkan token akses dengan setiap permintaan. klien gapi untuk Python membuat ini sangat sederhana.

Jika Anda ingin melakukannya tanpa parameter forMine dari daftar video, Anda dapat kembali ke titik akhir pencarian dan meneruskan ID saluran pengguna (ini tentu saja mengharuskan Anda mengetahuinya terlebih dahulu, sedangkan metode yang diautentikasi akan berfungsi untuk setiap pengguna yang masuk tanpa Anda harus tahu siapa mereka):

 
https://www.googleapis.com/youtube/v3/search?order=viewCount&part=snippet&channelId={channel id here}&maxResults=25&key={YOUR_API_KEY}
    
3
2015-11-20 00: 03: 07Z
  1. tujuannya adalah yang terakhir, hanya meraih sepuluh besar dari saluran saya sendiri setiap saat dengan python - Saya tidak menyadari Anda perlu mendapatkan token penyegaran sekarang untuk membuat spesifik pertanyaan. ini membantu
    2015-05-21 15: 28: 31Z
  2. Catatan Saya mengedit jawaban saya untuk sedikit menguraikan ... Anda dapat melakukannya tanpa token apa pun JIKA Anda sudah tahu ID saluran pengguna yang diberikan. Jika tidak, maka Anda harus menggunakan oAuth.
    2015-05-21 15: 34: 51Z
  3. terima kasih @jlmcdonald yang bekerja! Saya juga memiliki ID saluran yang salah - tetapi berfungsi dengan baik tanpa biaya tambahan untuk mendapatkan dan memelihara token hanya untuk data sederhana!
    2015-05-21 16: 20: 15Z
sumber ditempatkan sini