| r530 vs r531 | ||
|---|---|---|
| ... | ... | |
| 214 | 214 | 왜 있지 |
| 215 | 215 | |
| 216 | 216 | https://namu.wiki/ads.txt |
| 217 | https://namu.wiki/sidebar.js | |
| 217 | https://namu.wiki/sidebar.javascript | |
| 218 | 218 | 사이드바 |
| 219 | 219 | |
| 220 | 220 | 브라우저 헤더를 수정하면 당연하게도 api 화면을 볼 수 있다. |
| 221 | 221 | [[파일:with_modified_header.png]] |
| 222 | 222 | |
| 223 | https://theseed.io/api/discuss/문서명?state=close로 닫힌 토론 목록을 가져올 수 있다. | |
| 223 | https://theseed.io/api/discuss/문서명?state=close 로 닫힌 토론 목록을 가져올 수 있다. | |
| 224 | 224 | |
| 225 | 225 | 읽기 권한이 없다면 당연하게도 토론 목록 또한 읽을 수 없다. |
| 226 | 226 | |
| 227 | [[https://theseed.io/thread/TherapeuticRapidRampantFire#423|기능 추가]][[https://theseed.io/thread/TherapeuticRapidRampantFire#438|참?고자료]] | |
| 228 | [[api_access]] 문서에 누군가 정리해줄 줄 알고 안 썼는데 아무도 안 쓰길래 내가 씀 | |
| 227 | 229 | GET, POST, DELETE /api/v0/aclgroup |
| 230 | 관리자 권한(admin)과 [[api_access]] 권한이 모두 있어야 한다. | |
| 231 | ?는 입력하지 않아도 된다는 뜻. | |
| 232 | * GET /api/v0/aclgroup | |
| 233 | * ?group - 문자열 | |
| 234 | * ?from - 수 | |
| 235 | * ?until - 수 | |
| 236 | {{{#!syntax javascript | |
| 237 | { | |
| 238 | "groups": [ | |
| 239 | "차단된 사용자", | |
| 240 | "중요 권한 요청 거부", | |
| 241 | "인증된 사용자", | |
| 242 | "관리자", | |
| 243 | "로그인 허용 차단", | |
| 244 | "Rainbow", | |
| 245 | "권한 요청 거부", | |
| 246 | "소명 거부", | |
| 247 | "경고-테스트", | |
| 248 | "Pink", | |
| 249 | "Darkblue", | |
| 250 | "test", | |
| 251 | "휴지통" | |
| 252 | ], | |
| 253 | "group": "인증된 사용자", | |
| 254 | "aclgroup": [ | |
| 255 | { | |
| 256 | "id": 13187, | |
| 257 | "ip": null, | |
| 258 | "username": "Marth", | |
| 259 | "note": "이상한애", | |
| 260 | "created": 1747675592, | |
| 261 | "expired": null // 이게 null이면 영구라고 함. -1이 아니네 | |
| 262 | }, | |
| 263 | ], | |
| 264 | "from": "12032", | |
| 265 | "until": null | |
| 266 | } | |
| 267 | }}} | |
| 268 | * POST /api/v0/aclgroup | |
| 269 | * group - 문자열 | |
| 270 | username/ip 둘 중 하나는 필수. | |
| 271 | * ?username - 문자열 | |
| 272 | * ?ip - 문자열 | |
| 273 | * note - 문자열 | |
| 274 | * expire - 수 | |
| 275 | * mode (username 또는 ip) | |
| 276 | {{{#!syntax javascript | |
| 277 | {'id': aclgroup id(수)} // 아무 문제 없으면 | |
| 278 | {'status': "aclgroup_already_exists" } // 뭔가 오류 있으면 | |
| 279 | }}} | |
| 280 | * 예시 | |
| 281 | {{{#!syntax python | |
| 282 | headers = { | |
| 283 | 'Content-Type': 'application/x-www-form-urlencoded', | |
| 284 | 'Authorization': 'Bearer API_KEY', | |
| 285 | } | |
| 286 | response = requests.post(f'https://theseed.io/api/v0/aclgroup', headers=headers, data=('group=차단된 사용자&username=nyangx3¬e=api&expire=1&mode=username&asdf=asdf').encode('utf-8')) | |
| 287 | print(response) | |
| 288 | }}} | |
| 289 | * DELETE /api/v0/aclgroup | |
| 290 | * group - 문자열 | |
| 291 | * id - 수 | |
| 292 | * note - 문자열 | |
| 293 | {{{#!syntax javascript | |
| 294 | {'id': aclgroup id(수)} // 아무 문제 없으면 | |
| 295 | {'status': "aclgroup_not_found" } // 뭔가 오류 있으면 | |
| 296 | }}} | |
| 297 | 초기에는 POST/DELETE 시 response에서 추가된 aclgroup id같은 걸 반환해주지 않았으나 어느 순간을 기점으로 id를 반환한다.[[https://theseed.io/thread/TherapeuticRapidRampantFire#482|첫?발견]] | |
| 228 | 298 | |
| 229 | ||
| 230 | 299 | === 토큰 테스트 === |
| 231 | 300 | {{{#!wiki style="text-align: center" |
| 232 | 301 | "𝔹"[* UTF-8에서 4바이트]*n자 로 테스트했을 시 |
| ... | ... |