# kintone.api() の実行ユーザを指定することはできますか

**URL:** <https://community.cybozu.dev/t/topic/7131>\
**Category:** kintone 開発相談\
**Created:** [2021 年 5 月 22 日午前 4:23 UTC](https://community.cybozu.dev/t/topic/7131 "2021-05-22T04:23:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account2290](https://avatars.discourse-cdn.com/v4/letter/l/e274bd/32.png) [@Legacy\_Account2290](https://community.cybozu.dev/u/Legacy_Account2290)\
**Post date:** [2021 年 5 月 22 日午前 4:23 UTC](https://community.cybozu.dev/t/topic/7131/1 "2021-05-22T04:23:31Z")

</div>

どなたかお詳しい方、ご教示をお願いします。

社内で申請アプリを作成しておりまして、承認フローを実現するために [プロセス管理] の機能を使用を検討するとともに、ステータス変更操作周りを一部、jsカスタマイズで自動化したいと考えています。

尚、IPアドレス制限環境下です。

[プロセス管理 設定]

```
| ステータス | 作業者 | アクション | 次のステータス |
| ----------- | ---------------------|----------- | ------------- |
| (1) 未処理 | 指定しない | 申請する | 確認中 |
| (2) 確認中 | 次のユーザから作業者を選択 | 確認済み | 完了 |
| (3) 完了 | なし | なし | なし |

```

&nbsp;

[カスタマイズの背景]

&nbsp;

基本的には、上記の設定に従ってユーザに申請を上げてもらうのですが、フィールドへの入力内容によっては、(1) から (3) へ一気に変更してしまいたいケースがあります。

&nbsp;

であれば、(1) の状態でも、上記ケースの条件を満たしたときには (3) に持っていくアクションを設置すればよいのですが、ユーザに理解してもらうのが難しそう… アクション実行を忘れられそう… と思い、対策としてjsカスタマイズで内部的に自動処理してしまおうと考えました。

&nbsp;

[カスタマイズの内容]

- ステータス(2) の [次のユーザ…] にはAdminisrator を含めておく

- アプリからAPIトークンを発行しておく

- create.submit.success, edit.submit.success で発火

- まず、(1) → (2) へステータス遷移させるのに  
[k/v1/record/status.json] へ kintone.api() を使ってリクエストする。  
このとき、リクエストボディ内の ‘assingee’ に ‘Administrator’ を指定する。

- 次に、(2) → (3) へステータス遷移させるのにも  
[k/v1/record/status.json] へ kintone.api() を使ってリクエストしたい。  
このとき、実行ユーザをAdministratorにしたい。(前述のAPIトークンを使用したい)

[質問]

kintone.api() にて実行ユーザの指定をすることはできますか。

そのまま？ 使うと実行ユーザが、その時のログインユーザとなっているように思えます。

&nbsp;

kintone.proxy() であればリクエストヘッダを含める過程で APIトークンの指定ができるのですが、前述の通りIPアドレス制限下ということもあり、指定のIPアドレス範囲を許可リストに加える必要がありまして…。

&nbsp;

現状では、kintone.proxy() を使う妥協策でなんとか動かしているのですが、可能であれば kintone.api() でリクエストを統一したいと思っています。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account63](https://avatars.discourse-cdn.com/v4/letter/l/6de8d8/32.png) [@Legacy\_Account63](https://community.cybozu.dev/u/Legacy_Account63)\
**Post date:** [2021 年 5 月 24 日午後 11:04 UTC](https://community.cybozu.dev/t/topic/7131/2 "2021-05-24T23:04:32Z")

</div>

kintone.api()はログインユーザーでしか実行できないはずですね。

とはいえ、すでにトークンつかってらっしゃるのであれば、kintone.api()をつかわずに自分でリクエストだしてしまえばいいだけの話かなと思います。（kintone.apiは通信を楽にするためのwrapperみたいなものなので使うのは必須ではない)

具体的には、JavaScriptやライブラリの通信機能を使うなども手段の一つですが、  
kintone.apiを使うよりも楽な、rest-api-clientがおすすめです。

ここのUsageに認証方法がかいてありますが、tokenを指定することもできます。  
一度試してみてはいかがでしょうか。  
[https://github.com/kintone/js-sdk/tree/master/packages/rest-api-client#usage](https://github.com/kintone/js-sdk/tree/master/packages/rest-api-client#usage)

[https://developer.cybozu.io/hc/ja/articles/900000767263](https://developer.cybozu.io/hc/ja/articles/900000767263)

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2290](https://avatars.discourse-cdn.com/v4/letter/l/e274bd/32.png) [@Legacy\_Account2290](https://community.cybozu.dev/u/Legacy_Account2290)\
**Post date:** [2021 年 5 月 25 日午前 3:58 UTC](https://community.cybozu.dev/t/topic/7131/3 "2021-05-25T03:58:14Z")

</div>

村濱様

コメントありがとうございます。

\>とはいえ、すでにトークンつかってらっしゃるのであれば、kintone.api()をつかわずに自分でリクエストだしてしまえばいいだけの話かなと思います。  
おっしゃる通り…。確かにkintone.api()利用にこだわる必要がないですね。  
視野が狭まっていました。

\>rest-api-clientがおすすめです。  
こちらは確認できていませんでした。  
早速勉強してみたいと思います。
