できる人はみなくて良いです(むしろもっと良い方法あったら教えてください)

GROWI APIを使って一瞬で大量のページを作ってみよう

  • ユーザーとユーザーグループ大量作成したい
  • アタッチメント全部削除したい

なども同様の方法で可能

サーバーへの api リクエストについて (GROWI勉強会用)

  • api リクエストを投げられるツール
    • web ブラウザ (URL)
    • request モジュール (node)
    • postman (REST API ツール)
    • Advanced REST client (Chrome 拡張機能)
    • XMLHttpRequest (javascript)
    • axios (javascript)
    • curl コマンド
    • など

GROWI サーバーに API リクエストを投げよう

準備するもの

node の request モジュールを使ってみる

とりあえずhello world

hello.js
console.log('hello world');
$ node hello.js > hello world

request を使ったapiリクエスト作成

create_page.js
const request = require('request'); const URL = 'http://localhost:3000/_api/pages.create'; request.post( { uri: URL, headers: { 'Content-type': 'application/json' }, json: { access_token: '', body: 'hoge', path: `/hoge/fuga`, }, }, (err, res, data) => { console.log(data); }, );

繰り返し処理

create_bulk_pages.js
const request = require('request'); const URL = 'http://localhost:3000/_api/pages.create'; for (let i = 0; i < 10; i++) { request.post( { uri: URL, headers: { 'Content-type': 'application/json' }, json: { access_token: '', body: 'hoge', path: `/hoge/${i}`, }, }, (err, res, data) => { console.log(data); }, ); }

GET http://localhost:3000/_api/pages.list?pageId=hoge&limit=10 external_link

req.query = { 'pageID': 'hoge', 'limit': 10, }

補足

getとpostにおけるパラメータ

get -> query (URL ? の後ろにあるやつ, GETメソッドは情報取得を目的としていてどうゆう情報が欲しいかを伝えるために使う)

post -> body (html formタグ内のinputの値, POSTメソッドは情報格納を目的としていて格納する情報を伝えるために使う)