Download one Google Drive file with a short-lived link
curl --request GET \
--url https://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-linkimport requests
url = "https://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link', 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://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link",
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://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link"
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://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link")
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"<string>"{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"message": "<string>",
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Direct uploads
Download one Google Drive file with a short-lived link
The signed link names one member, connection, file and format and expires after five minutes. The member’s current organization access and Google connection are checked again on every download.
GET
/
v1
/
direct-downloads
/
google-workspace
/
drive-link
Download one Google Drive file with a short-lived link
curl --request GET \
--url https://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-linkimport requests
url = "https://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link', 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://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link",
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://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link"
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://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/direct-downloads/google-workspace/drive-link")
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"<string>"{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"message": "<string>",
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Query Parameters
Required string length:
1 - 2048Response
File bytes.
The response is of type file.
Was this page helpful?