There are three main authentication methods: API keys, OAuth 2.0 client IDs, and service accounts
We summarize the features and differences between these authentication methods
API keys
Description: These are often used when working with public data that users can access without logging in.
API keys grant simple access, but if security is a concern, you may want to use additional authentication methods.
(User not signed in to client → Google information)
Example:
Display map information using the Google Maps API
Translate text using the Google Translate API
OAuth 2.0 Client ID
Description: User authentication is required for users to access privately owned data from Google.
The user must agree to allow the application to access their data, which can be confirmed on the consent screen.
Access to Google's personal user data
(Client login user → Google info)
Examples:
An application that allows users to add events to their Google Calendar
The ability to read a user's Google Drive files into an application
Service account
Description: An authentication method used for server-to-server interactions.
The application itself, rather than a specific user, is authenticated to access Google services.
It is primarily used in automated backend tasks or server-to-server communication.
No access to personal user data in Google
But access to data of users under Google's organization (domain-wide delegation of permissions)
(Server → Google info)
Example:
A backend server regularly uploads/downloads files to Google Cloud Storage
A script that reads data from Google Sheets, analyzes it, and saves the results
An IT administrator in a company periodically backs up employees' Google Drive data
Google Workspace domain (refers to the organization in Google described in the service account)
For example, if your company's domain is "example.com", you can set up Google Workspace based on that domain to manage email addresses, calendars, Drive, and more for users within your organization.
References