Google OAuth callback for the Google Sheets integration
curl --request GET \
--url https://your-instance.example.com/api/google-sheets/oauth/google/callbackimport requests
url = "https://your-instance.example.com/api/google-sheets/oauth/google/callback"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://your-instance.example.com/api/google-sheets/oauth/google/callback', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your-instance.example.com/api/google-sheets/oauth/google/callback",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.example.com/api/google-sheets/oauth/google/callback"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://your-instance.example.com/api/google-sheets/oauth/google/callback")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-instance.example.com/api/google-sheets/oauth/google/callback")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body"<html><body>Google Sheets connection completed. You can close this window.</body></html>"{
"error": "Google Sheets service unavailable",
"detail": "Upstream connection refused"
}Google Sheets
Google OAuth callback for the Google Sheets integration
Public endpoint (no authMiddleware) that completes the Google OAuth flow for the Google Sheets scraper service. The relay proxies the upstream response — when the upstream returns a 3xx with a Location header, the relay forwards that redirect (typically back to the application UI). JSON or text bodies are forwarded with the upstream status.
GET
/
api
/
google-sheets
/
oauth
/
google
/
callback
Google OAuth callback for the Google Sheets integration
curl --request GET \
--url https://your-instance.example.com/api/google-sheets/oauth/google/callbackimport requests
url = "https://your-instance.example.com/api/google-sheets/oauth/google/callback"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://your-instance.example.com/api/google-sheets/oauth/google/callback', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your-instance.example.com/api/google-sheets/oauth/google/callback",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.example.com/api/google-sheets/oauth/google/callback"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://your-instance.example.com/api/google-sheets/oauth/google/callback")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-instance.example.com/api/google-sheets/oauth/google/callback")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body"<html><body>Google Sheets connection completed. You can close this window.</body></html>"{
"error": "Google Sheets service unavailable",
"detail": "Upstream connection refused"
}Query Parameters
OAuth authorization code returned by Google
Opaque state token forwarded back to the OAuth caller
Set when the user denies the OAuth consent or the provider rejects the request
Response
Non-redirect upstream response (rare; e.g. the scraper directly returns a JSON status without redirecting).
The response is of type string.