Read a OneDrive or SharePoint text or binary file as the calling member
curl --request GET \
--url https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId}', 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/capabilities/microsoft-365/drive-file/{itemId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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/capabilities/microsoft-365/drive-file/{itemId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"ok": true,
"file": {
"id": "<string>",
"driveId": "<string>",
"parentId": "<string>",
"siteId": "<string>",
"name": "<string>",
"size": 123,
"modifiedTime": "<string>",
"webUrl": "<string>",
"mimeType": "<string>",
"kind": "file",
"eTag": "<string>",
"content": "<string>",
"contentBase64": "<string>",
"encoding": "text",
"contentType": "<string>",
"truncated": true,
"contentUnavailableReason": "folder"
}
}{
"error": "unauthorized"
}{
"error": "needs_connection",
"message": "<string>"
}{
"error": "microsoft_graph_error",
"message": "<string>",
"outcome": "unknown",
"retryable": false
}Capability Sources
Read a OneDrive or SharePoint text or binary file as the calling member
Returns metadata and content using strict-UTF-8 content sniffing: text is returned regardless of MIME type, while binary files are returned as standard base64 up to 10 MiB. Folders and oversized files return metadata with an explicit contentUnavailableReason. Pass driveId for files outside the member’s own OneDrive.
GET
/
v1
/
capabilities
/
microsoft-365
/
drive-file
/
{itemId}
Read a OneDrive or SharePoint text or binary file as the calling member
curl --request GET \
--url https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId}', 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/capabilities/microsoft-365/drive-file/{itemId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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/capabilities/microsoft-365/drive-file/{itemId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/capabilities/microsoft-365/drive-file/{itemId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"ok": true,
"file": {
"id": "<string>",
"driveId": "<string>",
"parentId": "<string>",
"siteId": "<string>",
"name": "<string>",
"size": 123,
"modifiedTime": "<string>",
"webUrl": "<string>",
"mimeType": "<string>",
"kind": "file",
"eTag": "<string>",
"content": "<string>",
"contentBase64": "<string>",
"encoding": "text",
"contentType": "<string>",
"truncated": true,
"contentUnavailableReason": "folder"
}
}{
"error": "unauthorized"
}{
"error": "needs_connection",
"message": "<string>"
}{
"error": "microsoft_graph_error",
"message": "<string>",
"outcome": "unknown",
"retryable": false
}Authorizations
denApiKeybearerAuth
Organization API key passed as the x-api-key header. The raw key is the header value; do not prefix it with Bearer.
Path Parameters
Microsoft Graph drive item id.
Required string length:
1 - 512Query Parameters
The file's driveId from a search, folder or link result. Omit for the member's own OneDrive.
Required string length:
1 - 512Was this page helpful?