# GROWIでapiを叩く

| サイト名                 | URL                                        |
| ------------------------ | ------------------------------------------ |
| Postman                  | https://www.postman.com/                   |
| GROWIの api ドキュメント | https://docs.growi.org/en/api/rest-v3.html |

Postman を用意する。

![スクリーンショット 2020-02-20 0.25.39.png](/attachment/5e4d53f1340a4f0049473d2e)  

GROWI では API token を用いて認証を行なっているためユーザー設定から API token を取得する。  
request body にセットすれば叩ける

![スクリーンショット 2020-02-20 0.29.22.png](/attachment/5e4d54a7340a4f0049473d2f)

ちなみに内部では以下のように記述されている

```js:access-token-parser.js

module.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 判定も正常に行われる。

## 関連ページ
[/開発日記/動作確認用にページをたくさん作りたい](https://tips.weseek.co.jp/5f80326633588b0048eaf865)

---

## Page Navigation

- Canonical URL: https://tips.weseek.co.jp/GROWI/GROWIでapiを叩いてみよう
- Permalink: https://tips.weseek.co.jp/5e4d5253340a4f0049473d2b
- Parent: [GROWI](/5e393927e848c600487d6a01.md)
- Children: 0 total
- Total descendants: 0
- Siblings: 8 total
  - [GROWIにおけるBootstrap](/5e3938c6e848c600487d69fa.md)
  - [GROWIのバージョンを下げた時に、nodeのバージョンで怒られた時の対処法](/5f7c32e8b8f345004895b23e.md)
  - [SSOと仲良くなろう](/5f99372a04330d004832a02c.md)
  - [formのactionでPUTとDELETEが送れない件](/5e789d45a5e29a004842ba63.md)
  - [reactstrap を使ったコンポーネントのレンダリング制御](/5e424e61decd0a0049953ae1.md)
  - [分割代入を使って見通しの良いコードを書こう](/5e3e6f19591d7f0048b3cc69.md)
  - [実例で見るpointer-eventsの使い方](/5e50df38839fe70048321573.md)
  - [故意の技術的負債から目を逸らさない](/5e71da49df47e40049fa6c6f.md)
- Last updated: 2020-10-19T07:35:01.256Z by deleted_at_1672138409189
- Full page listing (all children regardless of count): https://tips.weseek.co.jp/_api/v3/page-listing/children?id=5e4d5253340a4f0049473d2b
