portaldacalheta.pt
  • หลัก
  • การจัดการวิศวกรรม
  • Kpi และ Analytics
  • เทคโนโลยี
  • ว่องไว
ส่วนหลัง

การรวม YouTube API: การอัปโหลดวิดีโอด้วย Django



เมื่อไม่นานมานี้ฉันทำงานให้กับลูกค้าโดยรวมบทวิจารณ์วิดีโอไว้ในเว็บไซต์ของพวกเขา เช่นเดียวกับนักพัฒนาที่มีแรงบันดาลใจในการแก้ปัญหาใหม่สิ่งแรกที่ฉันทำคือ Google และฉันพบคำตอบที่ไม่ช่วยเหลือหรือเข้าใจผิดมากมายเกี่ยวกับวิธีบรรลุสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิงหรือแพ็คเกจ Python ที่ล้าสมัยและไม่ได้รับการดูแล ในที่สุดฉันก็ใช้สัญลักษณ์แสดงหัวข้อย่อยและทีมและฉันสร้างทุกอย่างตั้งแต่เริ่มต้น: เราสร้างมุมมองเรียนรู้เกี่ยวกับ API ของ Google สร้างไคลเอ็นต์ API และในที่สุดก็ประสบความสำเร็จในการอัปโหลดวิดีโอจาก Django โดยใช้โปรแกรม

ในโพสต์นี้ฉันจะพยายามแนะนำคุณทีละขั้นตอนในการโพสต์วิดีโอ YouTube จากแอป Django ของคุณ สิ่งนี้จะต้องใช้ข้อมูลรับรอง Google API เล็กน้อยโดยเริ่มจากอินเทอร์เฟซเว็บจากนั้นจึงใช้รหัส ในส่วนของ YouTube นั้นตรงไปตรงมามาก เราจำเป็นต้องเข้าใจว่าสิ่งต่างๆของ Google ทำงานอย่างไรเพราะบางครั้งอาจเป็นเรื่องยุ่งยากและข้อมูลก็กระจายไปตามสถานที่ต่างๆ



ข้อกำหนดเบื้องต้น



ขอแนะนำให้ทำความคุ้นเคยกับสิ่งต่อไปนี้ก่อนที่เราจะเริ่มทำงาน:



  • API ข้อมูล YouTube: Python Quickstart
  • YouTube Data API: ข้อมูลอ้างอิง API
  • YouTube Data API: ตัวอย่างโค้ด
  • ไลบรารีไคลเอ็นต์ Google Python API
  • ไลบรารีไคลเอ็นต์ Google Python API: เอกสารอ้างอิง
  • ไลบรารีไคลเอ็นต์ Google Python API: ตัวอย่างโค้ด
  • YouTube API: ตัวอย่างโค้ด Python

โค้ดที่น่าสนใจที่ควรทราบคือ Python Snippet ต่อไปนี้จากไฟล์ เอกสาร Google YouTube API :

# Sample python code for videos.insert def videos_insert(client, properties, media_file, **kwargs): resource = build_resource(properties) # See full sample for function kwargs = remove_empty_kwargs(**kwargs) # See full sample for function request = client.videos().insert( body=resource, media_body=MediaFileUpload(media_file, chunksize=-1, resumable=True), **kwargs ) # See full sample for function return resumable_upload(request, 'video', 'insert') media_file = 'sample_video.flv' if not os.path.exists(media_file): exit('Please specify a valid file location.') videos_insert(client, {'snippet.categoryId': '22', 'snippet.defaultLanguage': '', 'snippet.description': 'Description of uploaded video.', 'snippet.tags[]': '', 'snippet.title': 'Test video upload', 'status.embeddable': '', 'status.license': '', 'status.privacyStatus': 'private', 'status.publicStatsViewable': ''}, media_file, part='snippet,status')

เริ่มต้นใช้งาน

หลังจากที่คุณอ่านข้อกำหนดเบื้องต้นแล้วก็ถึงเวลาเริ่มต้น มาดูกันว่าเราต้องการอะไร



เข็มขัดเครื่องมือ

โดยพื้นฐานแล้วเรามาสร้างสภาพแวดล้อมเสมือนจริงกัน ฉันชอบเป็นการส่วนตัว pyenv . การตั้งค่าทั้งสองอยู่นอกเหนือขอบเขตของโพสต์นี้ดังนั้นฉันจะโพสต์คำสั่ง pyenv ด้านล่างและหากค่ากำหนดของคุณคือ virtualenv อย่าลังเลที่จะแทนที่คำสั่งตามนั้น

ฉันจะใช้ Python 3.7 และ Django 2.1 ในโพสต์นี้



➜ ~/projects $ mkdir django-youtube ➜ ~/projects $ cd django-youtube ➜ ~/projects/django-youtube $ pyenv virtualenv 3.7.0 djangoyt ➜ ~/projects/django-youtube $ vim .python-version

มาใส่ไว้ในเนื้อหากัน (หากคุณใช้ pyenv ดังนั้นจะเปิดใช้งานโดยอัตโนมัติเมื่อคุณเข้าสู่โฟลเดอร์):

djangoyt

การติดตั้งการอ้างอิง:

วิธีปรับปรุงประสิทธิภาพของเซิร์ฟเวอร์ sql
➜ ~/projects/django-youtube $ pip install google-api-python-client google-auth google-auth-oauthlib google-auth-httplib2 oauth2client Django unipath jsonpickle

ตอนนี้ถึงเวลาเริ่มโครงการ django ของเรา:

➜ ~/projects/django-youtube $ django-admin startproject django_youtube .

หยุดชั่วคราวสำหรับการกำหนดค่า Google บางรายการ

มากำหนดค่าข้อมูลรับรองโครงการของเราตอนนี้เพื่อให้เราสามารถใช้ Google API ได้

ขั้นตอนที่ 1. ไปที่ URL ต่อไปนี้:

https://console.developers.google.com/apis/library/youtube.googleapis.com

ขั้นตอนที่ 2. สร้างโครงการใหม่

สร้างโครงการใหม่

ขั้นตอนที่ 3. คลิก“ เปิดใช้งาน API และบริการ”

เปิดใช้งาน API และบริการ

ขั้นตอนที่ 4. มองหา YouTube Data API v3 แล้วคลิก“ เปิดใช้งาน”

มองหา YouTube Data API v3 แล้วคลิก

ขั้นตอนที่ 5. คุณควรได้รับข้อความเกี่ยวกับข้อมูลรับรอง

ข้อความเกี่ยวกับข้อมูลรับรอง

ขั้นตอนที่ 6. คลิกที่ปุ่มสีน้ำเงิน 'สร้างข้อมูลรับรอง' ทางด้านขวาและคุณจะได้รับหน้าจอต่อไปนี้:

คลิกที่

ขั้นตอนที่ 7. เลือกเว็บเซิร์ฟเวอร์ข้อมูลผู้ใช้:

เลือกเว็บเซิร์ฟเวอร์ข้อมูลผู้ใช้

หลักการของความเชื่อมโยงและการปิดล้อมแสดงให้เห็นได้ดีที่สุดว่า

ขั้นตอนที่ 8. เพิ่มต้นกำเนิด JS ที่ได้รับอนุญาตและเปลี่ยนเส้นทาง URI ไปต่อจนจบ:

วิธีแปลงข้อมูลใน excel

เพิ่มต้นกำเนิด JS ที่ได้รับอนุญาตและเปลี่ยนเส้นทาง URI

ตกลงเราตั้งค่าข้อมูลรับรองเสร็จแล้ว คุณสามารถดาวน์โหลดข้อมูลรับรองในรูปแบบ JSON หรือคัดลอกไฟล์ รหัสลูกค้า และ ความลับของลูกค้า .

กลับไปที่ Django

มาเริ่มแอป Django ตัวแรกของเรา ฉันมักจะตั้งชื่อว่า 'แก่น':

(djangoyt) ➜ ~/projects/django-youtube $ python manage.py startapp core

ตอนนี้เรามาเพิ่มสิ่งต่อไปนี้ในไฟล์ root urls.py เพื่อกำหนดเส้นทางคำขอหน้าแรกไปยังแอปหลักของเรา:

# /urls.py from django.urls import path, include path('', include(('core.urls', 'core'), namespace='core')),

ในแอปหลักเรามีไฟล์ urls.py อีกไฟล์หนึ่งโดยมีการกำหนดค่าบางอย่างด้วย:

# core/urls.py from django.conf import settings from django.conf.urls.static import static from django.urls import path from .views import HomePageView urlpatterns = [ path('', HomePageView.as_view(), name='home') ] if settings.DEBUG: urlpatterns += static( settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns += static( settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

เห็นมีเส้นทางว่างชี้ไปที่ HomePageView. ได้เวลาเพิ่มรหัสแล้ว

มาทำง่ายๆกันเถอะ TemplateView เพียงเพื่อดูว่ามันทำงาน

# core/views.py from django.shortcuts import render from django.views.generic import TemplateView class HomePageView(TemplateView): template_name = 'core/home.html'

และแน่นอนว่าเราต้องการเทมเพลตพื้นฐาน:

# core/templates/core/home.html

Here is the form:

{% csrf_token %} {{ form.as_p }}

อย่าลืมเพิ่มช่องวิดีโอลงใน YouTubeForm:

class YouTubeForm(forms.Form): video = forms.FileField()

ไปเลย!

อัปโหลดแบบฟอร์ม

จากนั้นตรวจสอบที่หน้า Studio บัญชี YouTube ของคุณ (สิ่งสำคัญคือต้องมีช่อง):

วิดีโอที่อัปโหลด

http //api.streamin.to/pair

ที่นี่คือ!

หมายเหตุปิด

โค้ดต้องได้รับการปรับปรุง แต่ก็เป็นจุดเริ่มต้นที่ดี ฉันหวังว่ามันจะช่วยได้มากที่สุดของ Google YouTube API ปัญหาการรวม สิ่งที่สำคัญเพิ่มเติมที่ควรทราบมีดังนี้

  • สำหรับการอนุญาตสิ่งสำคัญคือต้องมีการเข้าสู่ระบบและการอนุญาตพิเศษสำหรับผู้ใช้ที่จะอนุญาตให้แอปพลิเคชันของคุณอัปโหลดวิดีโอ
  • ต้องย้ายตัวแปรโฟลว์ออกจากการเป็นโกลบอล ไม่ปลอดภัยในสภาพแวดล้อมการผลิต จะดีกว่าที่จะแคชตาม ID ผู้ใช้หรือเซสชันที่เข้าถึงข้อมูลพร็อพเพอร์ตี้ครั้งแรก
  • Google จะให้โทเค็นการรีเฟรชเมื่อคุณทำการอนุญาตครั้งแรกเท่านั้น หลังจากนั้นไม่นานโดยส่วนใหญ่หนึ่งชั่วโมงโทเค็นของคุณจะหมดอายุและหากคุณไม่ได้โต้ตอบกับ API คุณจะเริ่มได้รับ invalid_grant การตอบสนอง การให้สิทธิ์ผู้ใช้รายเดิมที่ให้สิทธิ์ลูกค้าอีกครั้งจะไม่รับประกันโทเค็นการรีเฟรชของคุณ คุณต้องเพิกถอนใบสมัครในหน้าบัญชี Google ของคุณจากนั้นทำตามขั้นตอนการอนุญาตอีกครั้ง ในบางกรณีคุณอาจต้องรันงานเพื่อรีเฟรชโทเค็นต่อไป
  • เราจำเป็นต้องเข้าสู่ระบบในมุมมองของเราเนื่องจากเราใช้ข้อมูลรับรองผู้ใช้ที่เกี่ยวข้องโดยตรงกับคำขอ

ข้อผิดพลาด FlowExchange

การอัปโหลดใช้เวลามากและการทำในขั้นตอนการสมัครหลักของคุณอาจทำให้แอปพลิเคชันทั้งหมดถูกบล็อกในขณะที่การอัปโหลดเกิดขึ้น วิธีที่ถูกต้องคือย้ายไปไว้ในกระบวนการของตนเองและจัดการการอัปโหลดแบบอะซิงโครนัส

สับสน? อย่าเป็นอ่านเพิ่มเติมใน การจัดเตรียมเวิร์กโฟลว์พื้นหลังในคื่นฉ่ายสำหรับ Python .

ทำความเข้าใจพื้นฐาน

Django คืออะไรและทำไมจึงใช้?

จากเว็บไซต์อย่างเป็นทางการ:“ Django เป็นเฟรมเวิร์ก Python Web ระดับสูงที่สนับสนุนการพัฒนาอย่างรวดเร็วและการออกแบบที่สะอาดและใช้งานได้จริง” เป็น Python Web Framework ที่ใหญ่ที่สุดและมีการใช้กันอย่างแพร่หลายเนื่องจากมีเครื่องมือสำหรับการพัฒนาเว็บที่รวดเร็วรวมถึงเทมเพลตการจัดการฐานข้อมูลและความปลอดภัย

Django เป็นเฟรมเวิร์กที่ดีหรือไม่?

อย่างแน่นอน. เป็นที่นิยมมากที่สุดและเป็นหนึ่งในกรอบงานอันดับต้น ๆ Django ดูแลงานเว็บทั่วไปส่วนใหญ่เพื่อให้คุณสามารถมุ่งเน้นไปที่แอปพลิเคชันของคุณได้ หากคุณให้ตัวเลือกสามทางเลือกสำหรับนักพัฒนา Python เมื่อเริ่มโครงการเว็บ Django จะเป็นหนึ่งในนั้นอย่างแน่นอน

YouTube Data API คืออะไร

เป็น API ที่ Google จัดเตรียมไว้เพื่อรวมฟังก์ชันการทำงานของ YouTube ทุกประเภทไว้ในไซต์หนึ่ง ๆ ซึ่งรวมถึงการอัปโหลดวิดีโอการจัดการเพลย์ลิสต์และการสมัครรับข้อมูลการจัดการการตั้งค่าช่องการค้นหาและอื่น ๆ

ฉันจะรับคีย์ API ของ YouTube ได้อย่างไร

ขั้นตอนแรกคือไปที่นี่ (https://developers.google.com/youtube/v3/) แต่จะนำคุณไปยัง Google Developers Console (https://console.developers.google.com/) . คุณสามารถค้นหา Youtube API แล้วเพิ่มได้ที่นั่น

Google API ฟรีหรือไม่

Google API บางตัวให้บริการฟรีและอื่น ๆ ไม่ใช้ ตัวอย่างเช่น Youtube Data API นั้นฟรี

ฉันต้องการ Python และ Django เวอร์ชันใด

ในการปฏิบัติตามโพสต์นี้อย่างเคร่งครัดคุณต้องใช้ Python 3.7 และ Django 2.1 แต่สิ่งนี้ควรใช้กับ Python 2.7, 3.4, 3.5, 3.6 และ Django 1.1 และ 2.0 ด้วย

จำเป็นต้องมีการตั้งค่าใด ๆ ในฝั่ง YouTube หรือไม่

คุณต้องมีบัญชี YouTube และอย่างน้อยหนึ่งช่อง

เข้าใกล้กระบวนการออกแบบเว็บไซต์จากเบราว์เซอร์

การออกแบบ Ui

เข้าใกล้กระบวนการออกแบบเว็บไซต์จากเบราว์เซอร์
ข้อมูลเบื้องต้นเกี่ยวกับการประมวลผลภาพ Python ในการถ่ายภาพเชิงคำนวณ

ข้อมูลเบื้องต้นเกี่ยวกับการประมวลผลภาพ Python ในการถ่ายภาพเชิงคำนวณ

เทคโนโลยี

โพสต์ยอดนิยม
Nvidia Shield - สิ่งที่แตกต่างบนคอนโซลเกม Android
Nvidia Shield - สิ่งที่แตกต่างบนคอนโซลเกม Android
แผ่นโกงการจัดการโครงการ
แผ่นโกงการจัดการโครงการ
เริ่มต้นใช้งาน Microservices: บทช่วยสอน Dropwizard
เริ่มต้นใช้งาน Microservices: บทช่วยสอน Dropwizard
การแยกการเรียกเก็บเงิน: เรื่องของการเพิ่มประสิทธิภาพ API ภายใน GraphQL
การแยกการเรียกเก็บเงิน: เรื่องของการเพิ่มประสิทธิภาพ API ภายใน GraphQL
กรณีศึกษา: การใช้ ApeeScape เพื่อม้วนปลาใหญ่
กรณีศึกษา: การใช้ ApeeScape เพื่อม้วนปลาใหญ่
 
การประมาณต้นทุนซอฟต์แวร์ในการจัดการโครงการแบบ Agile
การประมาณต้นทุนซอฟต์แวร์ในการจัดการโครงการแบบ Agile
แชทล่ม - เมื่อ Chatbot ล้มเหลว
แชทล่ม - เมื่อ Chatbot ล้มเหลว
ที่ปรึกษาการระดมทุนกับนายหน้า - ตัวแทนจำหน่าย
ที่ปรึกษาการระดมทุนกับนายหน้า - ตัวแทนจำหน่าย
ทำให้ Web Front-end เชื่อถือได้ด้วย Elm
ทำให้ Web Front-end เชื่อถือได้ด้วย Elm
คู่มือสำหรับนักลงทุนเกี่ยวกับน้ำมันปาล์ม
คู่มือสำหรับนักลงทุนเกี่ยวกับน้ำมันปาล์ม
โพสต์ยอดนิยม
  • แฮ็คหมายเลขบัตรเครดิตที่ใช้งานได้
  • ข้อใดไม่ใช่ประโยชน์ของการหลีกเลี่ยงความซ้ำซ้อนในฐานข้อมูล
  • cac ในด้านการเงินคืออะไร
  • จะฟังอะไรด้วย sdr
  • วิธีหานักพัฒนาซอฟต์แวร์
  • พักโหนดบริการเว็บ js
  • วิธีการรับสมัครวิศวกรซอฟต์แวร์
หมวดหมู่
  • การจัดการวิศวกรรม
  • Kpi และ Analytics
  • เทคโนโลยี
  • ว่องไว
  • © 2022 | สงวนลิขสิทธิ์

    portaldacalheta.pt