slate/components/api-docs/v1/get.js

64 lines
1.7 KiB
JavaScript
Raw Normal View History

2021-03-22 21:17:42 +03:00
import * as React from "react";
import * as System from "~/components/system";
import CodeBlock from "~/components/system/CodeBlock";
2021-03-22 21:17:42 +03:00
2021-03-24 07:10:26 +03:00
const EXAMPLE_CODE_JS = (key) => `const response = await fetch('https://slate.host/api/v1/get', {
2021-03-22 21:17:42 +03:00
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'Basic ${key}',
},
body: JSON.stringify({ data: {
2021-04-20 23:35:30 +03:00
private: false // set this to true to include private slates as well
2021-03-22 21:17:42 +03:00
}})
});
const json = await response.json();
console.log(json);`;
2021-03-24 07:10:26 +03:00
const EXAMPLE_CODE_PY = (key) => `import requests
2021-03-30 04:19:36 +03:00
import json as JSON
url = "https://slate.host/api/v1/get"
2021-03-24 07:10:26 +03:00
headers = {
2021-03-30 04:19:36 +03:00
"content-type": "application/json",
2021-04-05 23:21:23 +03:00
"Authorization": "Basic ${key}",
2021-03-30 04:19:36 +03:00
}
2021-03-24 07:10:26 +03:00
2021-03-30 04:19:36 +03:00
json = {"private": "false"}
2021-03-24 07:10:26 +03:00
2021-03-30 04:35:06 +03:00
r = requests.post(url, headers=headers, json=json)
2021-03-24 07:10:26 +03:00
2021-03-30 04:35:06 +03:00
print(JSON.dumps(r.json(), indent=2))`;
2021-03-24 07:10:26 +03:00
2021-03-30 04:19:36 +03:00
export default class APIDocsGet extends React.Component {
render() {
let APIKey = this.props.APIKey;
let language = this.props.language;
let code = {
javascript: EXAMPLE_CODE_JS(APIKey),
python: EXAMPLE_CODE_PY(APIKey),
};
2021-03-24 07:10:26 +03:00
return (
<React.Fragment>
<System.DescriptionGroup
2021-03-30 04:19:36 +03:00
style={{ maxWidth: 640, marginTop: 64 }}
label="Get your data"
description="This API request returns your user data and slates. If the request body is omitted, the request will return only your public slates by default."
2021-03-24 07:10:26 +03:00
/>
<CodeBlock
2021-03-30 04:19:36 +03:00
children={code}
2021-03-24 07:10:26 +03:00
language={language}
2021-03-30 04:19:36 +03:00
style={{ maxWidth: "820px" }}
title="Get your data"
2021-03-30 04:19:36 +03:00
multiLang="true"
onLanguageChange={this.props.onLanguageChange}
2021-03-24 07:10:26 +03:00
/>
</React.Fragment>
);
2021-03-22 21:17:42 +03:00
}
}