オンプレ環境パッケージ版のワークフロー承認後のメッセージ送信

上記カスタマイズ方法でサンプルコードをそのまま使用したのですが、弊社環境
では動作しませんでした。ブラウザのコンソールに表示されていたのは

http://[弊社社内ドメイン].co.jp/v1/organizations.json?offset=0&size=100

こちらが404となっておりました。

パッケージ版だとサンプルコード126行目の /v1/organizations.json をパッケージ版に対応した場所に書き換えないと動作しないのかと推測したのですが合っているのかわかりません。また書き換えるのだとしたら何に変更すればよいでしょうか。

こんにちは。

404 の情報のみだと、何が原因となってエラーが発生しているのか、
特定するのは難しいかなと思います。

/v1/organizations.json エラーが発生している場合、エラーレスポンスに
エラーメッセージが含まれているはずなので、メッセージ内容を
確認したほうが良いかと思います。

参考:kintone JavaScript カスタマイズデバッグまとめ - cybozu developer network

なお、参照している Tips については、クラウド版Garoon に合わせた
処理のようなので、パッケージ版に合わせて修正する必要があるかと思います。

私の手元の環境(Version 6.0.0:Windows)で試してみると、
以下の SOAP API の URL を変更するだけで、お知らせのエラー含め、
エラーは発生せずにプログラムが動作しました。

  • 101行目: ‘/g/util_api/util/api.csp’ ⇒ ‘/scripts/cbgrn/grn.exe/util_api/util/api?’
  • 180行目: ‘/g/cbpapi/base/api.csp’ ⇒ ‘/scripts/cbgrn/grn.exe/cbpapi/base/api?’
  • 271行目: ‘/g/cbpapi/workflow/api.csp’ ⇒ ‘/scripts/cbgrn/grn.exe/cbpapi/workflow/api?’
  • 294行目: ‘/g/cbpapi/workflow/api.csp’ ⇒ ‘/scripts/cbgrn/grn.exe/cbpapi/workflow/api?’
  • 400行目: ‘/g/cbpapi/message/api.csp’ ⇒ ‘/scripts/cbgrn/grn.exe/cbpapi/message/api?’

修正箇所については、上記を参考にしてみてもらえればと思います。
各 URL の確認方法については、以下のページを参照してみてください。

早々にご連絡いただきましてありがとうございます。

サンプルコード126行目の’/v1/organizations.json’を下記のように書き換えると
組織の選択が表示されるようになりました。

‘/cgi-bin/cbgrn/grn.cgi/api/v1/base/organizations’

ただサンプルコード148行目の’/v1/organization/users.json’を下記のように書き換えたのですがユーザー選択が出現しませんでした。

‘/cgi-bin/cbgrn/grn.cgi/api/v1/base/users’

中途半端な知識なので何が原因かわからず…もう少し整理してみます。

1 Like

弊社linux環境でしたので下記の通りにすると動作はしました。

  • 101行目: ‘/g/util_api/util/api.csp’ ⇒ ‘/cgi-bin/cbgrn/grn.cgi/util_api/util/api?’
  • 180行目: ‘/g/cbpapi/base/api.csp’ ⇒ ‘/cgi-bin/cbgrn/grn.cgi/cbpapi/base/api?’
  • 271行目: ‘/g/cbpapi/workflow/api.csp’ ⇒ ‘/cgi-bin/cbgrn/grn.cgi/cbpapi/workflow/api?’
  • 294行目: ‘/g/cbpapi/workflow/api.csp’ ⇒ ‘/cgi-bin/cbgrn/grn.cgi/cbpapi/workflow/api?’
  • 400行目: ‘/g/cbpapi/message/api.csp’ ⇒ ‘/cgi-bin/cbgrn/grn.cgi/cbpapi/message/api?’

ただ、メッセージ送信はできておらず… Webのコンソール画面にはエラーが出ていないように
見えます。(知識不足なので本当に出ていないかわかりません)

ワークフローの承認までは普通に動作していました。
ちなみにワークフローの承認後にメール送信というのは正常に動作しました。

しかし、ワークフローの承認後にスケジュール登録というのはできませんでした。

こちらもワークフロー承認は正常にできるのですが、実際肝心のスケジュール登録ができませんでした。

メッセージ送信とスケジュール登録の共通点としては申請者情報(申請者のID)の取得の部分が
あるのでその部分で上手く動作していないのかと思っています。メール送信にはユーザID取得はありませんでした。ではどの部分が正しく動作してないかと言われると…
サンプルコードもクラウド版のみでパッケージ版は自分で結構修正しないといけないですしなかなか解決が厳しそうです。APIドキュメントも初心者には理解できない内容で難しいです。

Garoon REST API で組織に所属するユーザーの一覧を取得する場合、
以下の URL を指定する必要があるみたいです。

http://`サーバーの IP アドレスまたはホスト名/cgi-bin/インストール識別子/grn.cgi/api/v1/base/organizations/組織 ID`/users

記載していただいた URL だと、/base//users の間のパラメータが不足しているので、
正常にリクエスト実行できていないのかなーと思います。

なお、開発者ツールのコンソール画面ではなく、ネットワーク画面を確認することで、
なんらかの API 実行に失敗している場合には、エラー内容を確認できますよ。

ネットワーク画面の確認方法は下のページが参考になるかと思います。
https://good-things.jp/note/chrome-dev/

ご教示頂きましてありがとうございます。
よく考えるととSOAP APIでJavaScript APIのリクエスト方法を使用してしまって
いるので上手くいかないですね。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。