Technical Details
This section provides a deeper look into the technical architecture of ViveReports.
APIs Used
ViveReports is built on top of several Google and YouTube APIs:
- YouTube Data API v3: Used to fetch public data about channels and videos, such as titles, descriptions, and thumbnails.
- YouTube Analytics API: Used to retrieve private analytics data for authenticated users, including views, watch time, and audience demographics.
- Google Apps Script: The entire add-on is written in Google Apps Script, which allows it to run natively within Google Sheets.
Data Handling and Storage
- Data Storage: All of your YouTube data is stored directly in your Google Sheet. ViveReports does not store your analytics data on any external servers.
- User Preferences: User-specific settings, such as connected accounts and report configurations, are stored using Google's
PropertiesService
, which is scoped to your user account and the specific document. - Subscription Status: Your subscription status is verified by making a secure, server-to-server call to our backend, which communicates with Stripe.
Security and OAuth Scopes
ViveReports uses the principle of least privilege, meaning it only requests the permissions it absolutely needs to function. Here is a list of the OAuth scopes it uses and why:
https://www.googleapis.com/auth/script.container.ui
: To create the add-on's user interface (menus, sidebars).https://www.googleapis.com/auth/spreadsheets.currentonly
: To write data into the current spreadsheet.https://www.googleapis.com/auth/userinfo.email
: To identify you for subscription management.https://www.googleapis.com/auth/script.scriptapp
: To create and manage automated data refresh triggers.https://www.googleapis.com/auth/script.send_mail
: To send email reports (only if you enable the feature).https://www.googleapis.com/auth/youtube.readonly
: To view basic information about your YouTube channels.https://www.googleapis.com/auth/yt-analytics.readonly
: To view your YouTube Analytics reports.https://www.googleapis.com/auth/yt-analytics-monetary.readonly
: To view revenue data (only if you enable it).https://www.googleapis.com/auth/script.external_request
: To communicate with the YouTube API and our subscription server.https://www.googleapis.com/auth/script.locale
: To display dates and numbers in your local format.