# Google Drive Setup with OAuth & Transfers

> How to set up Google Drive in Blober using OAuth 2.0. Browse, upload, download, and transfer files between Google Drive and other providers.

Google Drive is Google's cloud storage and file synchronization service. Blober connects to it using OAuth 2.0.

## Capabilities

* ✅ Browse folders and files
* ✅ Upload files
* ✅ Download files
* ✅ Create folders
* ✅ Delete files/folders
* ✅ Search files
* ✅ View file metadata
* 🚧 Move files (in progress)
* 🚧 Copy files (in progress)

## Prerequisites

* A personal Google account (`@gmail.com`) or Google Workspace account
* That's it, the steps below walk you through everything else

## Setup (Google Cloud Console)

[]()

This guide shows you how to create and download a Google OAuth client credentials JSON file. The whole process takes about 5 minutes.

### 1. Create a Google Cloud Project

![Google Cloud new project screen](/kb/_astro/new-project.DEFneR4B_ZlSQBB.webp)

1. Go to [console.cloud.google.com/projectcreate](https://console.cloud.google.com/projectcreate)

> **Note**
>
> Google Cloud has begun to enforce 2-step verification (2SV). Follow the instructions there to enable it if prompted.

2. If prompted, sign in with your Google account. Otherwise, you can switch accounts at the top right corner of the page
3. In the **Project name** field, enter a name (e.g., `Blober Drive Access`)
   * Google will auto-generate a **Project ID** below the name field. You don't need to change it
4. Leave **Parent resource** empty (unless you're in an organization)
5. Click **Create**
6. Wait a few seconds. You'll see a notification at the top-right confirming the project was created. Click **Select Project** in the notification to switch to it

> **Tip**
>
> If you miss the notification, click the **project picker** in the top-left of the console (next to "Google Cloud"), find your project in the list, and click it.

### 2. Enable the Google Drive API

![Google Drive API library page](/kb/_astro/google-drive-api.DuRJsjdZ_2nSeDI.webp)

1. Go directly to [the Drive API page](https://console.cloud.google.com/apis/library/drive.googleapis.com) (make sure your new project is selected in the top-left)
2. Click the blue **Enable** button
3. You'll be redirected to the API overview page. That means it worked

> **Caution**
>
> If you see **"Select a project"** in the top bar instead of your project name, click it and select your project first. The Enable button won't work without a project selected.

### 3. Configure the Google Auth Platform (OAuth Consent Screen)

![OAuth consent screen configuration](/kb/_astro/auth-screen.CvYJk4EN_wKOyk.webp)

Google requires you to configure an "app identity" before you can create OAuth credentials.

1. Go to [Google Auth Platform Overview](https://console.cloud.google.com/auth/overview)
2. You'll see a page saying **"Google Auth Platform not configured yet"** with a **Get started** button. Click it
3. This opens a **4-step wizard** called "Project configuration":

#### Step 1: App Information

* **App name**: Enter any name (e.g., `Blober Drive Access`). This shows on the consent screen when you authorize
* **User support email**: Click the dropdown and select your Gmail address
* Click **Next**

#### Step 2: Audience

* You'll see two options: **Internal** and **External**
* If you're using a personal `@gmail.com` account, **Internal is disabled**. Select **External**
* If you're on Google Workspace, you can choose either
* Click **Next**

> **Note**
>
> **External** means anyone with a Google account *that you add as a test user* can authorize. Your app will start in **Testing** mode. This is normal and expected for personal use.

#### Step 3: Contact Information

* Enter your email as the **Developer contact email** (your personal `@gmail.com` account)
* Click **Next**

#### Step 4: Finish

* Review the summary
* Click **Create/Finish**

You'll be redirected to the Google Auth Platform overview. The left sidebar items (**Branding**, **Audience**, **Clients**, **Data Access**) are now accessible.

### 4. Add Yourself as a Test User

Because your app is in **Testing** mode, only explicitly added test users can authorize. If you skip this step, you'll get a **"403 Access Denied"** or **"App not verified"** error.

1. In the left sidebar, click **Audience**
2. Scroll down to **Test users**
3. Click **Add users**
4. Enter the **exact Gmail address** you'll use with Blober
5. Click **Save**

### 5. (IMPORTANT!) Add the Drive Scope

![Drive API scopes configuration](/kb/_astro/scopes-screen.DJqG1B1X_2jg77a.webp)

Blober requests scopes automatically during authorization, so this step is optional. But if you want to pre-configure them:

1. In the left sidebar, click **Data Access**
2. Click **Add or remove scopes**
3. Search for `drive` and check `https://www.googleapis.com/auth/drive` (Full access)
4. Click **Update**, then **Save**

### 6. Create Web Credentials

![OAuth client creation screen](/kb/_astro/client-screen.BpFS9N8s_ZIYlmL.webp)

1. In the left sidebar, click **Clients**

2. Click **Create Client** (or go directly to [Create OAuth client](https://console.cloud.google.com/auth/clients/create))

3. For **Application type**, select **Web Application**

4. Enter a name (e.g., `Blober Desktop`)

5. Under Authorized redirect URIs, add:

   > <http://localhost:52847/oauth/callback>

6. Click **Create**

7. A dialog appears showing your **Client ID** and **Client Secret**

8. Click the **Download JSON** button (⬇️) to save the credentials file

![Download JSON credentials button](/kb/_astro/download-json.BYlzmKt5_Z12Ccb4.webp)

> **Caution**
>
> Keep this JSON file safe. It contains your client secret. Don't commit it to version control or share it publicly.

### 7. Configure in Blober

1. In Blober, go to **Workflows** > **New Workflow**
2. Select **Google Drive** as source or destination
3. Upload the JSON credentials file you downloaded
4. Click **Authorize Google Drive Access**
5. A browser window opens. Sign in with the **same Google account you added as a test user**
6. You'll see a warning: **"Google hasn't verified this app"**. This is expected for test apps
7. Click **Advanced**, then click **Go to \[App Name] (unsafe)**
8. Grant the requested permissions
9. Return to Blober. You should now see your Google Drive files

> **Terms Compliance**
>
> Your use of Google Drive through Blober is subject to [Google's Terms of Service](https://policies.google.com/terms). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.

## File Types

Google Drive handles these file types:

| Type          | Description                 | Export Format    |
| ------------- | --------------------------- | ---------------- |
| Regular files | Documents, images, videos   | As-is            |
| Google Docs   | Google Docs documents       | `.docx`          |
| Google Sheets | Google Sheets spreadsheets  | `.xlsx`          |
| Google Slides | Google Slides presentations | `.pptx`          |
| Google Forms  | Form definitions            | Not downloadable |

## Permissions & Privacy

When you connect Google Drive, Blober requests these permissions:

* **View files:** Read file names and metadata
* **Download files:** Download file contents
* **Upload files:** Create new files
* **Delete files:** Remove files you own

**Blober will never:**

* Access files from other apps without permission
* Modify files without your explicit action
* Share your data with third parties

## The Authorization Screen

When you first connect, your browser will show Google's consent flow:

1. **Sign in** with the Google account you added as a test user
2. **"Google hasn't verified this app"** warning: click **Advanced**, then **Go to \[App Name] (unsafe)**
3. **Permission grant**: review the permissions and click **Allow**

This warning is normal for apps in Testing mode and does not mean anything is wrong.

## Common Issues

### "Google hasn't verified this app" (blocked, can't proceed)

* Make sure you click **Advanced** at the bottom of the warning screen, then click the small link **Go to \[App Name] (unsafe)**
* If you don't see the "Advanced" link, you may be signed into the wrong Google account

### "403 Access Denied" or "Error 403: access\_denied"

* You forgot to add yourself as a **test user**. Go to **Google Auth Platform** > **Audience** > **Test users**, add your exact Gmail address
* Make sure you're signing in with the same email you added as a test user

### "redirect\_uri\_mismatch"

* The redirect URI your app is sending doesn't match what's configured. For Desktop app credentials, this is handled automatically, so you shouldn't see this error
* If you do, make sure your credential type is **Desktop app** (not "Web application")

### "Authentication Failed"

* Try disconnecting and reconnecting in Blober
* Clear browser cookies for `accounts.google.com`
* Check you're signing into the correct Google account

### "Permission Denied" on files

* Re-authorize to refresh permissions
* Check if files are owned by you or shared with you
* Verify the Drive API is enabled for your project

### "Files Not Showing"

* Refresh the file list
* Check you're in the correct folder
* Verify files aren't in Trash

### Console shows "You need additional access"

* You're viewing a project you don't own. Click the **project picker** in the top-left and select the correct project
* This also happens if the project name in the URL doesn't match your actual project ID

## Limitations

### Storage

* **Free tier:** 15 GB (shared with Gmail and Google Photos)
* **Maximum file size:** 5 TB per file
* **Daily upload limit:** 750 GB

### API Quotas

* Google imposes rate limits on API requests
* Blober handles rate limiting automatically
* Large operations may take longer due to throttling

### Google Workspace Files

* Google Docs/Sheets/Slides are exported to Microsoft Office formats
* Some formatting may differ after export
* Google Forms cannot be downloaded

### File and Folder Names

* Blober treats backslashes (`\`) as path separators for Windows and network paths. A Google Drive destination name containing a literal backslash is created as nested folders instead.

## Best Practices

### Security

* Never share your OAuth credentials JSON file with anyone
* Don't commit the JSON file to version control (add it to `.gitignore`)
* Periodically review connected apps in [Google Account settings](https://myaccount.google.com/permissions)
* Revoke access for apps you no longer use

## Search Syntax

You can use Google Drive's search from within Blober:

| Query                | Description                     |
| -------------------- | ------------------------------- |
| `filename:report`    | Files with "report" in the name |
| `type:pdf`           | PDF files only                  |
| `owner:me`           | Files you own                   |
| `modified:last7days` | Recently modified               |

## Further Reading

* [How to Transfer GoPro Cloud to Google Drive Without ZIP Files](/kb/articles/move-gopro-cloud-to-google-drive/) - connect both providers and resume a large transfer safely

## External References

* [Google Auth Platform Overview](https://console.cloud.google.com/auth/overview): configure OAuth consent
* [Google Drive API Library Page](https://console.cloud.google.com/apis/library/drive.googleapis.com): enable the Drive API
* [OAuth for Desktop Apps](https://developers.google.com/identity/protocols/oauth2/native-app): how OAuth works for desktop apps
* [Google Drive API Documentation](https://developers.google.com/drive/api/guides/about-sdk)
* [Google Cloud Console](https://console.cloud.google.com/)