/GODriveIndex

A google drive go API to index, search and download files from google drive without download quota limits.

Primary LanguageGo

golang google drive

GODriveIndex

A google drive go API to index, search and download files from google drive without download quota limits.
⚠️ Warning: The quota free download feature is currently still under development. I have not tested it for large number of downloads. Feel free to create an issue if you face any bugs.
  1. Introduction
  2. Tech Stack
  3. Features
  4. Quick Start
  5. Connect With Me

GoDriveIndex is a powerful open-source Google Drive indexing solution built with Go. This project aims to provide a seamless way to index, search, and download files from Google Drive without being constrained by download quota limits. By leveraging the Google Drive API and Go's robust concurrency features, GoDriveIndex offers a fast and reliable method to interact with your Google Drive contents. Whether you're managing a large collection of files or need a reliable way to access and share Google Drive contents, GoDriveIndex provides a robust solution that combines the speed of Go with the versatility of Google Drive.

  • Golang
  • Google Drive API
  1. Efficient Indexing: Quickly catalog your entire Google Drive structure.
  2. Advanced Search: Easily find files and folders using various search parameters.
  3. Quota-Free Downloads: Bypass Google Drive's download quotas for smoother file retrieval.
  4. Secure Authentication: Utilize OAuth 2.0 for safe and authorized access to Google Drive.
  5. User-Friendly Interface: A clean and intuitive web interface for easy navigation and file management.

👉 Efficient Indexing: Quickly catalog your entire Google Drive structure.

👉 Advanced Search: Easily find files and folders using various search parameters.

👉 Quota-Free Downloads: Bypass Google Drive's download quotas for smoother file retrieval.

👉 Secure Authentication: Utilize OAuth 2.0 for safe and authorized access to Google Drive.

NOTE: MANY FEATURES ARE STILL UNDER DEVELOPMENT.

Follow these steps to set up the project locally on your machine.

Prerequisites

Quick Start

Prerequisites

  • Go: Ensure you have Go installed on your machine. You can download it from here.
  • Git: Make sure Git is installed. You can download it from here.
  • Environment Variables: Create a .env file in the root directory with necessary configurations.

Setup

  1. Clone the Repository

    git clone https://github.com/amankumarsingh77/GODriveIndex.git
    cd GODriveIndex
  2. Install Dependencies

    • Navigate to the project directory and run:
    go mod tidy
  3. Configure Environment Variables

    • Create a .env file in the root directory and add your configurations. Example:
    GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID
    GOOGLE_CLIENT_SECRET=YOUR_GOOGLE_CLIENT_SECRET
    OAUTH_REDIRECT_URL=YOUR_OAUTH_REDIRECT_URL
    

Additional Configuration

  • Setup Service Account: Ensure serviceAccount.json is properly configured is if you are using service account for authentication. Follow this guide to create a service account and use the serviceAccount.demo.json file as reference.
  • Authentication: Modify auth.json as needed for your authentication setup. Follow auth.demo.json for reference.

Run the Server

  • Start the server using:
go run cmd/server/main.go

Access the Application

  • Open your browser and go to http://localhost:8080 to access the application.

Connect With Me

Q) Want to chat or need assistance with setting up a project?

A) You can connect with me on X and Gmail