curl --request POST \
--url https://app.teable.ai/api/base/import-google-sheet/stream \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{"spaceId":"string","baseId":"string","integrationId":"string","accessToken":"string","spreadsheetId":"string","baseName":"string","sheetIds":[0],"importRecords":true}'const url = 'https://app.teable.ai/api/base/import-google-sheet/stream';
const options = {
method: 'POST',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
},
body: '{"spaceId":"string","baseId":"string","integrationId":"string","accessToken":"string","spreadsheetId":"string","baseName":"string","sheetIds":[0],"importRecords":true}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}const http = require('https');
const options = {
method: 'POST',
hostname: 'app.teable.ai',
port: null,
path: '/api/base/import-google-sheet/stream',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
spaceId: 'string',
baseId: 'string',
integrationId: 'string',
accessToken: 'string',
spreadsheetId: 'string',
baseName: 'string',
sheetIds: [0],
importRecords: true
}));
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
payload = "{\"spaceId\":\"string\",\"baseId\":\"string\",\"integrationId\":\"string\",\"accessToken\":\"string\",\"spreadsheetId\":\"string\",\"baseName\":\"string\",\"sheetIds\":[0],\"importRecords\":true}"
headers = {
'Authorization': "Bearer REPLACE_BEARER_TOKEN",
'content-type': "application/json"
}
conn.request("POST", "/api/base/import-google-sheet/stream", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.teable.ai/api/base/import-google-sheet/stream",
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([
'spreadsheetId' => '<string>',
'spaceId' => '<string>',
'baseId' => '<string>',
'integrationId' => '<string>',
'accessToken' => '<string>',
'baseName' => '<string>',
'sheetIds' => [
123
],
'importRecords' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.teable.ai/api/base/import-google-sheet/stream"
payload := strings.NewReader("{\n \"spreadsheetId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"baseId\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"accessToken\": \"<string>\",\n \"baseName\": \"<string>\",\n \"sheetIds\": [\n 123\n ],\n \"importRecords\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://app.teable.ai/api/base/import-google-sheet/stream")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"spreadsheetId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"baseId\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"accessToken\": \"<string>\",\n \"baseName\": \"<string>\",\n \"sheetIds\": [\n 123\n ],\n \"importRecords\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/base/import-google-sheet/stream")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"spreadsheetId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"baseId\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"accessToken\": \"<string>\",\n \"baseName\": \"<string>\",\n \"sheetIds\": [\n 123\n ],\n \"importRecords\": true\n}"
response = http.request(request)
puts response.read_bodyImport Google spreadsheet with progress
curl --request POST \
--url https://app.teable.ai/api/base/import-google-sheet/stream \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{"spaceId":"string","baseId":"string","integrationId":"string","accessToken":"string","spreadsheetId":"string","baseName":"string","sheetIds":[0],"importRecords":true}'const url = 'https://app.teable.ai/api/base/import-google-sheet/stream';
const options = {
method: 'POST',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
},
body: '{"spaceId":"string","baseId":"string","integrationId":"string","accessToken":"string","spreadsheetId":"string","baseName":"string","sheetIds":[0],"importRecords":true}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}const http = require('https');
const options = {
method: 'POST',
hostname: 'app.teable.ai',
port: null,
path: '/api/base/import-google-sheet/stream',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
spaceId: 'string',
baseId: 'string',
integrationId: 'string',
accessToken: 'string',
spreadsheetId: 'string',
baseName: 'string',
sheetIds: [0],
importRecords: true
}));
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
payload = "{\"spaceId\":\"string\",\"baseId\":\"string\",\"integrationId\":\"string\",\"accessToken\":\"string\",\"spreadsheetId\":\"string\",\"baseName\":\"string\",\"sheetIds\":[0],\"importRecords\":true}"
headers = {
'Authorization': "Bearer REPLACE_BEARER_TOKEN",
'content-type': "application/json"
}
conn.request("POST", "/api/base/import-google-sheet/stream", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.teable.ai/api/base/import-google-sheet/stream",
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([
'spreadsheetId' => '<string>',
'spaceId' => '<string>',
'baseId' => '<string>',
'integrationId' => '<string>',
'accessToken' => '<string>',
'baseName' => '<string>',
'sheetIds' => [
123
],
'importRecords' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.teable.ai/api/base/import-google-sheet/stream"
payload := strings.NewReader("{\n \"spreadsheetId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"baseId\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"accessToken\": \"<string>\",\n \"baseName\": \"<string>\",\n \"sheetIds\": [\n 123\n ],\n \"importRecords\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://app.teable.ai/api/base/import-google-sheet/stream")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"spreadsheetId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"baseId\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"accessToken\": \"<string>\",\n \"baseName\": \"<string>\",\n \"sheetIds\": [\n 123\n ],\n \"importRecords\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/base/import-google-sheet/stream")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"spreadsheetId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"baseId\": \"<string>\",\n \"integrationId\": \"<string>\",\n \"accessToken\": \"<string>\",\n \"baseName\": \"<string>\",\n \"sheetIds\": [\n 123\n ],\n \"importRecords\": true\n}"
response = http.request(request)
puts response.read_bodyAutorizzazioni
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Corpo
1Target space for the new project. Required only when baseId is omitted; when importing into an existing project the project's own space is used and spaceId is ignored.
Import into this existing project (add its tables) instead of creating a new one. When omitted, a new project named baseName is created in spaceId.
Id of a connected Google Sheets user integration; its access token is resolved (and refreshed) server-side and never leaves the server for API calls.
Raw Google OAuth access token with the drive.file scope (never persisted by the server). Ignored when integrationId is provided.
1Name for the created project (normally the spreadsheet title). Required unless baseId is set.
1Numeric ids of the tabs to import (from analyze). When omitted all tabs are imported; an explicitly empty array is rejected (it would silently mean "all").
1Import record data (default true). When false only the structure is created.
Risposta
SSE stream with progress events and final result
Questa pagina è stata utile?

