r2
| 1 | * 상위 문서: [[사용자:ldmsys]] > [[사용자:ldmsys/API 사용 예제|API 사용 예제]] |
|---|
r1
| 2 | |
|---|
| 3 | 아래 코드는 axios 모듈이 설치되어 있음을 전제로 합니다. axios 모듈은 다음 명령어로 설치하실 수 있습니다: |
|---|
| 4 | {{{ $ npm install axios |
|---|
| 5 | - or - |
|---|
| 6 | $ yarn add axios |
|---|
| 7 | }}}사용된 코드는 다음과 같습니다. |
|---|
| 8 | {{{#!syntax javascript |
|---|
| 9 | // index.js: UTF-8 -- 작동 보증 안합니다. 나도 짜깁기해서 즉석으로 만든 코드입니다. |
|---|
| 10 | const axios = require('axios'); |
|---|
| 11 | |
|---|
| 12 | const DEST_ADDR = "https://theseed.io"; |
|---|
| 13 | const API_TOKEN = "YOUR_API_KEY_GOES_HERE"; |
|---|
| 14 | |
|---|
| 15 | (async () => { |
|---|
| 16 | let document = "더새드위키"; |
|---|
| 17 | let log = "Hello, World!"; |
|---|
| 18 | |
|---|
| 19 | let fetchedData = await axios.get(DEST_ADDR+"/api/edit/"+encodeURI(document), {headers: { |
|---|
| 20 | 'Authorization': 'Bearer '+API_TOKEN |
|---|
| 21 | }}); |
|---|
| 22 | |
|---|
| 23 | // doc.theseed.io 상 제공하는 필드는 text, exists, token임, fetchedData.data.뭐시기로 끄집어낼 수 있음. |
|---|
| 24 | let token = fetchedData.data.token; |
|---|
| 25 | let text = fetchedData.data.text; |
|---|
| 26 | let exists = fetchedData.data.exists; |
|---|
| 27 | console.log("Fetched!"); |
|---|
| 28 | |
|---|
| 29 | if(!token) |
|---|
| 30 | throw new Error("Error: API didn't returned token"); |
|---|
| 31 | |
|---|
| 32 | // text를 수정합시다. |
|---|
| 33 | text = "Hello, World!"; |
|---|
| 34 | |
|---|
| 35 | let editResult = await axios.post(DEST_ADDR+"/api/edit/"+encodeURI(document), { |
|---|
| 36 | "text": text, |
|---|
| 37 | "log": log, |
|---|
| 38 | "token": token |
|---|
| 39 | }, {headers: { |
|---|
| 40 | 'Authorization': 'Bearer '+API_TOKEN |
|---|
| 41 | }}); |
|---|
| 42 | console.log("Edit Done."); |
|---|
| 43 | |
|---|
| 44 | // 그 뒤에도 editResult.data.status, editResult.data.rev 등을 활용할 수 있음. |
|---|
| 45 | })(); |
|---|
| 46 | }}} |
|---|