WIKIWIKI REST API コミュニティ

REST API ページ操作

0 コメント
views
1 フォロー

REST API ページ操作

Web ブラウザを使わずに Wiki ページの読み書きを行うことができます。
プログラムの知識が必要です。

https://api.wikiwiki.jp/<wiki-id>/...

<wiki-id> 部分に操作対象の wiki の ID を指定します。

※コントロールパネルの各種設定からAPI使用の許可をしてください。

認証

POST https://api.wikiwiki.jp/<wiki-id>/auth

他の操作を行うためのトークンを得ることができます。

使用例

curl -X POST "https://api.wikiwiki.jp/<wiki-id>/auth" \
-H "Content-Type: application/json" \
-d "{\"password\": \"passw0rd\"}"

password フィールドのある JSON オブジェクトをリクエストボディに指定します。
Content-Type は application/json でなければなりません。
パスワードには管理者パスワードを使用します。
※サブ・パスワードは使用できません。

結果

{
  "status": "ok",
  "token": "eyJ0eXA..."
}

APIキーによる認証

Wiki管理人が直接パスワードを入力する必要がなくなりました。
コントロールパネルの「APIキー」から発行した APIキーを渡すことで、プログラミング等の知識がある編集者に自動化を委任することができます。
※ APIキーを利用することで大規模な編集を行うことができるため、管理パスワードと同様、漏洩には十分ご注意ください。

使用例

curl -X POST "https://api.wikiwiki.jp/test/::api/auth" \
-H "Content-Type: application/json" \
-d "{\"api_key_id\": \"949e621c-5a3b-4a27-801c-7771b67d04c5\", \"secret\": \"8PW_GWWEkDf_foBjyBPlw-pe_bfcB8n1\"}"

ページ一覧

GET https://api.wikiwiki.jp/<wiki-id>/pages

ページリストを取得します。

使用例

curl "https://api.wikiwiki.jp/<wiki-id>/pages" \
-H "Authorization: Bearer eyJ0eXA..."

/auth で得られた token フィールドの内容を Authorization ヘッダに Bearer で指定します。

結果

{
  "pages": [
    {
      "name": ":config",
      "timestamp": "2022-01-01T00:00:00+09:00"
    },
    {
      "name": "FrontPage",
      "timestamp": "2022-01-01T00:00:00+09:00"
    },
    ...
  ]
}

ページ取得

GET https://api.wikiwiki.jp/<wiki-id>/page/<page-name>

ページ内容を取得します。

使用例

curl "https://api.wikiwiki.jp/<wiki-id>/page/FrontPage" \
-H "Authorization: Bearer eyJ0eXA..."

/auth で得られた token フィールドの内容を Authorization ヘッダに Bearer で指定します。

結果

{
  "page": "FrontPage",
  "source": "TITLE:FrontPage(お好きなタイトルに変更して下さい)\n...",
  "timestamp": "2022-01-01T00:00:00+09:00"
}

ページ書き込み

PUT https://wikiwiki.jp/<wiki-id>/page/<page-name>

ページ内容を書き込みます。

使用例

curl -X PUT "https://api.wikiwiki.jp/<wiki-id>/page/TestPage" \
-H "Authorization: Bearer eyJ0eXA..." \
-H "Content-Type: application/json" \
-d "{\"source\": \"テストページです\"}"

/auth で得られた token フィールドの内容を Authorization ヘッダに Bearer で指定します。
source フィールドのある JSON オブジェクトをリクエストボディに指定します。
Content-Type は application/json でなければなりません。

結果

{
  "status": "ok"
}

レートリミット

ひとつの Wiki あたり 1 時間に 2000 回のオペレーションが上限です。
また 1 分間に 120 回を超えるペースでのオペレーションはできません。

レートリミットは Wiki への操作の合計回数にかかります。トークンあたりの回数ではないのでご注意ください。

WIKIWIKI運営
作成: 2023/12/13 (水) 16:10:02
最終更新: 2023/12/20 (水) 17:33:17
通報 ...