This repository was archived by the owner on Aug 12, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ # -*- coding: utf-8 -*-
2+
3+ import os
4+ import google .oauth2 .credentials
5+ import google_auth_oauthlib .flow
6+ from googleapiclient .discovery import build
7+ from googleapiclient .errors import HttpError
8+ from google_auth_oauthlib .flow import InstalledAppFlow
9+
10+ SCOPES = ['https://www.googleapis.com/auth/yt-analytics.readonly' ]
11+
12+ API_SERVICE_NAME = 'youtubeAnalytics'
13+ API_VERSION = 'v2'
14+ CLIENT_SECRETS_FILE = 'YOUR_CLIENT_SECRET_FILE.json'
15+ def get_service ():
16+ flow = InstalledAppFlow .from_client_secrets_file (CLIENT_SECRETS_FILE , SCOPES )
17+ credentials = flow .run_console ()
18+ return build (API_SERVICE_NAME , API_VERSION , credentials = credentials )
19+
20+ def execute_api_request (client_library_function , ** kwargs ):
21+ response = client_library_function (
22+ ** kwargs
23+ ).execute ()
24+
25+ print (response )
26+
27+ if __name__ == '__main__' :
28+ # Disable OAuthlib's HTTPs verification when running locally.
29+ # *DO NOT* leave this option enabled when running in production.
30+ os .environ ['OAUTHLIB_INSECURE_TRANSPORT' ] = '1'
31+
32+ youtubeAnalytics = get_service ()
33+ execute_api_request (
34+ youtubeAnalytics .reports ().query ,
35+ ids = 'channel==MINE' ,
36+ startDate = '2017-01-01' ,
37+ endDate = '2017-12-31' ,
38+ metrics = 'estimatedMinutesWatched,views,likes,subscribersGained'
39+ dimensions = 'day' ,
40+ sort = 'day'
41+ )
You can’t perform that action at this time.
0 commit comments