获取文件内容
curl --request GET \
--url https://geekai.co/api/v1/file/{uuid}/content \
--header 'Authorization: Bearer <token>'import requests
url = "https://geekai.co/api/v1/file/{uuid}/content"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://geekai.co/api/v1/file/{uuid}/content', 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://geekai.co/api/v1/file/{uuid}/content",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://geekai.co/api/v1/file/{uuid}/content"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://geekai.co/api/v1/file/{uuid}/content")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://geekai.co/api/v1/file/{uuid}/content")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"name": "<string>",
"size": 123,
"type": "<string>",
"md5": "<string>",
"url": "<string>",
"content": "<string>"
}{
"code": "unauthorized",
"message": "Invalid API key or token"
}{
"code": "file_not_found",
"message": "指定的文件不存在"
}{
"code": "invalid_request",
"message": "请求参数不合法"
}File
Extract Content
GET
/
file
/
{uuid}
/
content
获取文件内容
curl --request GET \
--url https://geekai.co/api/v1/file/{uuid}/content \
--header 'Authorization: Bearer <token>'import requests
url = "https://geekai.co/api/v1/file/{uuid}/content"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://geekai.co/api/v1/file/{uuid}/content', 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://geekai.co/api/v1/file/{uuid}/content",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://geekai.co/api/v1/file/{uuid}/content"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://geekai.co/api/v1/file/{uuid}/content")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://geekai.co/api/v1/file/{uuid}/content")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"name": "<string>",
"size": 123,
"type": "<string>",
"md5": "<string>",
"url": "<string>",
"content": "<string>"
}{
"code": "unauthorized",
"message": "Invalid API key or token"
}{
"code": "file_not_found",
"message": "指定的文件不存在"
}{
"code": "invalid_request",
"message": "请求参数不合法"
}After the file is successfully uploaded, you can retrieve the file content through the file extraction interface. Note that GeekAI provides asynchronous file loading, so you need to poll the file content extraction interface to obtain the file content until it is retrieved. When polling, you can check the
status field in the response data to determine the file extraction status. status=reading indicates that the file is being read, status=done indicates that the file has been read successfully, and the file content can be obtained through the content field value. If status=failed, it means that the file reading failed.
cURL Request Example
curl --location --request GET 'https://geekai.dev/api/v1/file/27f9ab4d-137b-4bb3-bcca-ea28f2f89e95/content' \
--header 'Authorization: Bearer {YOUR_GEEKAI_API_KEY}'
Authorizations
bearerAuthapiKeyAuth
API认证token
Path Parameters
文件唯一标识符
Response
成功响应
文件唯一ID,可通过该ID获取文件内容
文件状态: pending(待处理)/reading(读取中)/failed(读取失败)/done(已读取)
Available options:
pending, reading, processing, failed, done 文件名称
文件大小
文件MIME类型
文件MD5值
文件URL地址
文件内容(只有status=done时,才会填充该字段)
Was this page helpful?
