initial
This commit is contained in:
commit
74ae93a96e
1 changed files with 94691 additions and 0 deletions
127
joplin notion extension/Web Development/API/sirv.md
Normal file
127
joplin notion extension/Web Development/API/sirv.md
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
sirv(500 mb storage)
|
||||
|
||||
- https://apidocs.sirv.com
|
||||
|
||||
nodejs
|
||||
```jsx
|
||||
const http = require("https");
|
||||
|
||||
|
||||
|
||||
const options = {
|
||||
"method": "POST",
|
||||
"hostname": "api.sirv.com",
|
||||
"port": null,
|
||||
"path": "/v2/token",
|
||||
"headers": {
|
||||
"content-type": "application/json",
|
||||
"authorization": "Bearer BEARER_TOKEN_HERE"
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
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("{\"clientId\":\"ZcnZNfzwRhQExoHFoGpxWJ4p2R\",\"clientSecret\":\"TM3d0CfXxusKMpH3x7kHJYD40qJIR3omTIGXP6wPPkXpIUKLEz/dOJ9v6LbXra3y67XsaGK7iQPmnAuD+fzj+Q==\"}");
|
||||
req.end();
|
||||
|
||||
```
|
||||
|
||||
|
||||
Javascript(Vanilla)
|
||||
```jsx
|
||||
const data = "{\"clientId\":\"ZcnZNfzwRhQExoHFoGpxWJ4p2R\",\"clientSecret\":\"TM3d0CfXxusKMpH3x7kHJYD40qJIR3omTIGXP6wPPkXpIUKLEz/dOJ9v6LbXra3y67XsaGK7iQPmnAuD+fzj+Q==\"}";
|
||||
|
||||
|
||||
|
||||
const xhr = new XMLHttpRequest();
|
||||
xhr.withCredentials = true;
|
||||
|
||||
|
||||
xhr.addEventListener("readystatechange", function () {
|
||||
if (this.readyState === this.DONE) {
|
||||
console.log(this.responseText);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
xhr.open("POST", "https://api.sirv.com/v2/token");
|
||||
xhr.setRequestHeader("content-type", "application/json");
|
||||
xhr.setRequestHeader("authorization", "Bearer BEARER_TOKEN_HERE");
|
||||
|
||||
|
||||
xhr.send(data);
|
||||
|
||||
```
|
||||
|
||||
to upload file with curl
|
||||
```bash
|
||||
curl --request POST \
|
||||
--url 'https://api.sirv.com/v2/files/upload?filename=%2FREST%20API%20Examples%2Fuploaded.txt' \
|
||||
--header 'authorization: Bearer BEARER_TOKEN_HERE' \
|
||||
--header 'content-type: application/octet-stream' \
|
||||
--data-binary @path/to/your/local/file.txt
|
||||
```
|
||||
|
||||
with nodejs
|
||||
```js
|
||||
const fetch = require("node-fetch");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
const uploadFile = async () => {
|
||||
try {
|
||||
// Replace with your own details
|
||||
const apiURL = "https://api.sirv.com/v2/files/upload?filename=%2FREST%20API%20Examples%2Fuploaded.txt";
|
||||
const token = "BEARER_TOKEN_HERE";
|
||||
const filePath = path.join(__dirname, "your-local-file.txt"); // Path to your local file
|
||||
|
||||
// Read the file as binary data
|
||||
const fileStream = fs.createReadStream(filePath);
|
||||
|
||||
// Make the POST request with binary data
|
||||
const response = await fetch(apiURL, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: `Bearer ${token}`,
|
||||
"Content-Type": "application/octet-stream", // Appropriate content-type for binary file uploads
|
||||
},
|
||||
body: fileStream, // Use the file stream as the request body
|
||||
});
|
||||
|
||||
if (response.ok) {
|
||||
const data = await response.json();
|
||||
console.log("File uploaded successfully:", data);
|
||||
} else {
|
||||
const error = await response.text();
|
||||
console.error("Error uploading file:", error);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error uploading file:", error.message);
|
||||
}
|
||||
};
|
||||
|
||||
// Start the file upload
|
||||
uploadFile();
|
||||
```
|
||||
|
||||
sharable link format
|
||||
https://platletinvt.sirv.com/Images/Apple%20Watch%20white.jpg
|
||||
where this jpg file is in Images folder
|
||||
platletinvt is username
|
||||
Images is folder name
|
||||
rest is filename
|
||||
Loading…
Reference in a new issue