WIKIWIKI REST API コミュニティ

REST API ファイル操作

0 コメント
views
1 フォロー

REST API ファイル操作

これまでファイルアップロードはブラウザ上で各WIKIページからしか行えませんでしたが、APIからのファイルアップロードが可能になりました。
これにより、REST API ページ操作 と合わせてプログラムによってページコンテンツの作成を完結させることができるようになりました。

※ APIを利用するにはコントロールパネルの各種設定からAPI使用の許可をしてください。
※※ APIの実行には 認証API によりAPIトークンを取得しておく必要があります。

ファイルアップロードAPI

ファイル一覧

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

指定したページの添付ファイル一覧を取得します。


使用例

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

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


結果

{
  "attachments": {
    "test.png": {
      "page": "test",
      "file": "test.png",
      "age": 0,
      "size": 20538,
      "time": 1700445213,
      "time_str": "2023\/11\/20 10:53:33",
      "size_str": "20.1KB",
      "type": "image\/png",
      "md5hash": "c144f920cb24e4d8c8f76d2b6c9c3efe",
      "freeze": false
    },
    "test.txt": {
      "page": "test",
      "file": "test.txt",
      "age": 0,
      "size": 35,
      "time": 1701667943,
      "time_str": "2023\/12\/04 14:32:23",
      "size_str": "0.0KB",
      "type": "application\/octet-stream",
      "md5hash": "fe0ba2b564fb3a26f42ca62c8e071478",
      "freeze": true
    }
  }
}

ファイル取得

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

指定したページの添付ファイルを取得します。


使用例

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

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


curl "https://api.wikiwiki.jp/<wiki-id>/page/<page-name>/attachment/<file-name>?rev=<md5hash>" \
-H "Authorization: Bearer eyJ0eXA..."

よりセキュアなファイル取得をしたい場合、rev パラメータに attachments で得られた md5hash を指定することもできます。


結果

{
  "page": "test",
  "file": "test.txt",
  "age": 0,
  "size": 35,
  "time": 1702275537,
  "time_str": "2023\/12\/11 15:18:57",
  "size_str": "0.0KB",
  "type": "application\/octet-stream",
  "md5hash": "fe0ba2b564fb3a26f42ca62c8e071478",
  "freeze": false,
  "src": "PD9waHANCiAgICBlY2hvICJIZWxsbyBXb3JsZCEiOw=="
}

srcフィールドにはファイルのBase64エンコードされた内容が格納されています。
以下のようなコマンドでファイルを復元できます。

echo "PD9waHANCiAgICBlY2hvICJIZWxsbyBXb3JsZCEiOw==" | base64 -d > test.txt

また、パラメータに direct=1 を指定すると、直接ファイルのダウンロードを行うことができます。

curl "https://api.wikiwiki.jp/<wiki-id>/page/<page-name>/attachment/<file-name>?rev=<md5hash>&direct=1" \
-H "Authorization: Bearer eyJ0eXA..." > downloaded-file-name

ファイルアップロード

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

指定したページにファイルをアップロードします。


使用例

curl -X PUT "https://api.wikiwiki.jp/<wiki-id>/page/<page-name>/attachment" \
-H "Authorization: Bearer eyJ0eXA..." \
-H "Content-Type: application/json" \
-d "{\"filename\": \"<filename>\", \"data\": \"<base64-encoded-data>\"}"

/auth で得られた token フィールドの内容を Authorization ヘッダに Bearer で指定します。
dataにはファイルのBase64エンコードされた内容を指定します。


結果

{
  "status": "ok"
}

ファイル削除

DELETE https://api.wikiwiki.jp/<wiki-id>/page/<page-name>/attachment/<file-name>

指定したページの添付ファイルを削除します。


使用例

curl -X DELETE "http://api.wikiwiki.jp/<wiki-id>/page/<page-name>/attachment/<filename>" \
-H "Authorization: Bearer eyJ0eXA..."

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


結果

{
  "status": "ok"
}
WIKIWIKI運営
作成: 2023/12/13 (水) 16:16:12
最終更新: 2023/12/20 (水) 17:34:12
通報 ...