Существуют ли обновленные учебные пособия для начинающих о том, как реализовать всплывающую авторизацию Google OAuth 2.0, чтобы клиенты моего веб-приложения могли использовать API данных Youtube?
Google Auth Popup, обычно встречающийся на веб-сайтах
Документация по быстрому запуску Google проходит только через консоль.
Я пробовал руководство по Oauth2.0 для веб-сервера, но оно не имеет смысла для меня, и оно также во Flask.
Все руководства, которым я следовал из Google, используют устаревшие пакеты.Все направляющие также отличаются друг от друга.
Это код, который дает то, что мне нужно.Однако вместо того, чтобы использовать всплывающее окно аутентификации Google, он просит меня перейти на консоль.
SCOPES = ['https://www.googleapis.com/auth/youtube.force-ssl']
API_SERVICE_NAME = 'youtube'
API_VERSION = 'v3'
class youtube_base:
# Working auth code
def get_authenticated_service():
flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(
CLIENT_SECRETS_FILE, SCOPES)
credentials = flow.run_console()
return build(API_SERVICE_NAME, API_VERSION, credentials=credentials)
Вот как я называю YouTube API в моем веб-приложении:
class YtAuthView(UserPassesTestMixin, UpdateView):
model = Profile
form_class = YtAuthForm
template_name = 'yt_auth_update.html'
def form_valid(self, form):
client = youtube_base.get_authenticated_service()
stats = get_channel_stats(client, self.object.youtube_channel_id)
form.instance.yt_subscribers = stats['totalSubs']
form.instance.yt_views_avg = stats['viewsAverage']
form.instance.yt_views_median = stats['viewsMedian']
form.instance.yt_eng_rate = stats['engagementRate']
form.instance.yt_last_updated = stats['dataRecorded']
response = super(YtAuthView, self).form_valid(form)
return response