是否有有关如何实施Google OAuth 2.0弹出式授权的更新的初学者教程,以便我的Web应用程序客户端可以使用Youtube Data API?
Google Auth Popup commonly found in websites
Google快速入门文档仅涉及控制台流程。
我已经尝试过Oauth2.0 for Web Server Application指南,但这对我来说毫无意义,而且在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