GROWIでapiを叩く
サイト名 | URL |
---|---|
Postman | https://www.postman.com/ external_link |
GROWIの api ドキュメント | https://docs.growi.org/en/api/rest-v3.html external_link |
Postman を用意する。
GROWI では API token を用いて認証を行なっているためユーザー設定から API token を取得する。
request body にセットすれば叩ける
ちなみに内部では以下のように記述されている
access-token-parser.jsmodule.exports = (crowi) => { return async(req, res, next) => { // TODO: comply HTTP header of RFC6750 / Authorization: Bearer const accessToken = req.query.access_token || req.body.access_token || null; if (!accessToken) { return next(); } const User = crowi.model('User'); logger.debug('accessToken is', accessToken); const user = await User.findUserByApiToken(accessToken); req.user = user; req.skipCsrfVerify = true; logger.debug('Access token parsed: skipCsrfVerify'); next(); }; };
クエリパラメータもチェックしているようなので http://localhost:3000/_api/users.list?access_token={{my_api_token}}
でもうまくいく。
ここで user データも取得しているため後続に続く login 判定や admin 判定も正常に行われる。