Skip to content

ScraperNode/sheets-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Weld Scraper — Google Sheets Add-on

A Google Sheets add-on that lets users trigger Weld scrapers and write results directly into spreadsheets.

Setup

Prerequisites

  • clasp installed globally: npm install -g @google/clasp
  • A Google account with Apps Script access
  • A Weld API key (from the Weld dashboard → Settings → API Keys)

Development

  1. Login to clasp:

    clasp login
    
  2. Create a new Apps Script project (bound to a test spreadsheet):

    cd packages/sheets-plugin
    clasp create --type sheets --title "Weld Scraper Dev"
    

    This updates .clasp.json with your script ID.

  3. Push code to Google:

    clasp push
    
  4. Open the script editor (to verify):

    clasp open
    
  5. Test in a spreadsheet:

    • Open the spreadsheet bound to the script
    • Refresh the page — a "Weld" menu appears
    • Click Weld → Open Sidebar

Watch mode

clasp push --watch

Automatically pushes on file changes.

Architecture

src/
├── Code.gs           # Menu, onOpen, sidebar launchers
├── Auth.gs           # API key storage & validation
├── Api.gs            # Weld REST API client (UrlFetchApp)
├── SheetWriter.gs    # Write scrape results to sheet tabs
├── Sidebar.html      # Main sidebar UI (scrape form, progress, results)
└── Setup.html        # Settings/API key configuration screen

How it works

  1. User opens the sidebar and enters their Weld API key
  2. User selects a scraper, pastes URLs (or loads from selected cells)
  3. Clicking "Start Scrape" calls POST /api/jobs/create via UrlFetchApp
  4. The sidebar polls GET /api/jobs/get every 4 seconds (client-side polling avoids the 6-minute GAS execution limit)
  5. On completion, SheetWriter.gs fetches results and writes them to a new sheet tab

API endpoints used

Method Endpoint Purpose
GET /api/scrapers List available scrapers
POST /api/jobs/create Create a scrape job
GET /api/jobs/get Poll job status
GET /api/jobs/results Fetch completed results
GET /api/jobs List job history
GET /api/credits/balance Show credit balance

Publishing

To publish to the Google Workspace Marketplace:

  1. Create a standard GCP project
  2. Switch the Apps Script project to use it
  3. Enable the Marketplace SDK
  4. Configure OAuth consent screen
  5. Create a versioned deployment in Apps Script
  6. Submit for Google review

See Google's publishing guide for details.

Scopes

The add-on requires these minimal OAuth scopes:

  • spreadsheets.currentonly — Read/write only the current spreadsheet
  • script.external_request — Make HTTP requests to the Weld API

About

Google Sheets add-on for Weld scrapers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors