import os
from qaip import Qaip
client = Qaip(
api_key=os.environ.get("QAIP_API_KEY"), # This is the default and can be omitted
)
google_drive = client.google_drives.create(
folder_url="folder_url",
name="name",
)
print(google_drive.id)curl --request POST \
--url https://developer.qaip.com/api/v1/google-drives \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"folder_url": "<string>",
"service_account_key": "<string>",
"secret_id": "<string>",
"rrule": "<string>",
"metadata": {
"records": [
{
"key": "<string>",
"val": "<string>"
}
]
}
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
folder_url: '<string>',
service_account_key: '<string>',
secret_id: '<string>',
rrule: '<string>',
metadata: {records: [{key: '<string>', val: '<string>'}]}
})
};
fetch('https://developer.qaip.com/api/v1/google-drives', 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://developer.qaip.com/api/v1/google-drives",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'folder_url' => '<string>',
'service_account_key' => '<string>',
'secret_id' => '<string>',
'rrule' => '<string>',
'metadata' => [
'records' => [
[
'key' => '<string>',
'val' => '<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://developer.qaip.com/api/v1/google-drives"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"folder_url\": \"<string>\",\n \"service_account_key\": \"<string>\",\n \"secret_id\": \"<string>\",\n \"rrule\": \"<string>\",\n \"metadata\": {\n \"records\": [\n {\n \"key\": \"<string>\",\n \"val\": \"<string>\"\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://developer.qaip.com/api/v1/google-drives")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"folder_url\": \"<string>\",\n \"service_account_key\": \"<string>\",\n \"secret_id\": \"<string>\",\n \"rrule\": \"<string>\",\n \"metadata\": {\n \"records\": [\n {\n \"key\": \"<string>\",\n \"val\": \"<string>\"\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.qaip.com/api/v1/google-drives")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"folder_url\": \"<string>\",\n \"service_account_key\": \"<string>\",\n \"secret_id\": \"<string>\",\n \"rrule\": \"<string>\",\n \"metadata\": {\n \"records\": [\n {\n \"key\": \"<string>\",\n \"val\": \"<string>\"\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"folder_url": "<string>",
"status": "unknown",
"ingestion_setting_id": "<string>",
"creation_time": 123,
"start_time": 123,
"end_time": 123,
"error": {
"title": "<string>",
"message": "<string>"
},
"metadata": {
"records": [
{
"key": "<string>",
"val": "<string>",
"type": "string"
}
]
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}Create a Google Drive data source
Creates a new Google Drive data source and starts ingestion.
Required scope: ingestion:manage
import os
from qaip import Qaip
client = Qaip(
api_key=os.environ.get("QAIP_API_KEY"), # This is the default and can be omitted
)
google_drive = client.google_drives.create(
folder_url="folder_url",
name="name",
)
print(google_drive.id)curl --request POST \
--url https://developer.qaip.com/api/v1/google-drives \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"folder_url": "<string>",
"service_account_key": "<string>",
"secret_id": "<string>",
"rrule": "<string>",
"metadata": {
"records": [
{
"key": "<string>",
"val": "<string>"
}
]
}
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
folder_url: '<string>',
service_account_key: '<string>',
secret_id: '<string>',
rrule: '<string>',
metadata: {records: [{key: '<string>', val: '<string>'}]}
})
};
fetch('https://developer.qaip.com/api/v1/google-drives', 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://developer.qaip.com/api/v1/google-drives",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'folder_url' => '<string>',
'service_account_key' => '<string>',
'secret_id' => '<string>',
'rrule' => '<string>',
'metadata' => [
'records' => [
[
'key' => '<string>',
'val' => '<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://developer.qaip.com/api/v1/google-drives"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"folder_url\": \"<string>\",\n \"service_account_key\": \"<string>\",\n \"secret_id\": \"<string>\",\n \"rrule\": \"<string>\",\n \"metadata\": {\n \"records\": [\n {\n \"key\": \"<string>\",\n \"val\": \"<string>\"\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://developer.qaip.com/api/v1/google-drives")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"folder_url\": \"<string>\",\n \"service_account_key\": \"<string>\",\n \"secret_id\": \"<string>\",\n \"rrule\": \"<string>\",\n \"metadata\": {\n \"records\": [\n {\n \"key\": \"<string>\",\n \"val\": \"<string>\"\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.qaip.com/api/v1/google-drives")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"folder_url\": \"<string>\",\n \"service_account_key\": \"<string>\",\n \"secret_id\": \"<string>\",\n \"rrule\": \"<string>\",\n \"metadata\": {\n \"records\": [\n {\n \"key\": \"<string>\",\n \"val\": \"<string>\"\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"folder_url": "<string>",
"status": "unknown",
"ingestion_setting_id": "<string>",
"creation_time": 123,
"start_time": 123,
"end_time": 123,
"error": {
"title": "<string>",
"message": "<string>"
},
"metadata": {
"records": [
{
"key": "<string>",
"val": "<string>",
"type": "string"
}
]
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>"
}
}Authorizations
API key for authentication
Body
Name of the Google Drive data source
200Google Drive folder URL
2000One-time service account key JSON (mutually exclusive with secret_id)
ID of a stored secret to use (mutually exclusive with service_account_key)
Recurrence rule (RFC 5545 RRULE). Requires secret_id (not one-time key).
(reserved for future use) Additional metadata for the Google Drive data source
Show child attributes
Show child attributes
Response
Successfully created Google Drive data source
Google Drive data source ID
Name of the Google Drive ingestion setting
Google Drive folder URL
Job status
unknown, queued, not_started, managed, starting, started, success, failure, canceling, canceled, deleting, delete_job_failure Google Drive ingestion setting ID
Creation time (Unix timestamp in seconds)
Job start time (Unix timestamp in seconds)
Job end time (Unix timestamp in seconds)
Show child attributes
Show child attributes
(reserved for future use) Additional metadata for the Google Drive data source
Show child attributes
Show child attributes

