javascriptからのフォーム設定の変更について

javascriptから、別アプリのフォームのフィールドの設定を変更(ドロップダウンの選択肢を追加)しようとしていますが、うまくいきません。

kintone.api(kintone.api.url(‘/k/v1/preview/app/form/fields’, true), ‘PUT’, body,      function() {

alert(‘フォーム設定成功’);

}, function() {

alert(‘フォーム設定失敗’);

});

 

上記のようなソースを使用しており、bodyには変更する内容を記述してPUTしているのですが、「フォーム設定失敗」のアラートが表示されます。

しかし、変更先のアプリを見ると、テスト環境(previewの画面)では上記で設定したものがちゃんと反映されています。

 

javascriptからアプリのフォームのフィールドの設定を変更するとき、何か特別な注意事項があったりするのでしょうか?

(上記でフォーム設定成功となるにはどうすればよいでしょうか?)

城子さん、こんにちは。

https://developer.cybozu.io/hc/ja/articles/204693590#createapp_step3

のStep3、運用環境にアプリの設定を反映する、を行えばいいと思います。

通常の画面からの設定変更同様、2段階ですね!(青いボタン)

Shotaro Matsuda

 

早速のご返事ありがとうございます。

>Step3、運用環境にアプリの設定を反映する、を行えばいいと思います。

実際のコードではその処理も入れてJavaScriptで運用環境に反映しようとしています。しかし、うまくいきません。

コード的には以下のイメージです。

kintone.api(kintone.api.url(‘/k/v1/preview/app/form/fields’, true), ‘PUT’, body, function() {

alert(‘フォーム設定成功’);

kintone.api(kintone.api.url(‘/k/v1/preview/app/deploy’, true), ‘POST’, {apps: apps}, function() {

console.log(‘反映成功’);

}, function() {

alert(‘反映失敗’);

});

}, function() {

alert(‘フォーム設定失敗’);

});

上記でフォームの設定変更でエラーが返ってきてしまうのです。

ブラウザの開発ツールで見ても、レスポンスが来ていないようで原因が分からず困っているという状況です。

(エラーの場合も、deploy API を叩く処理を入れてみましたが、運用環境には反映されませんでした)

 

 

 

すみません、自己解決いたしました。

実際のソースコードではkintone.Promiseを使用しており、その使い方に誤りがありました。

JavaScriptからも問題なくフォームの設定変更ができました。

お騒がせいたしました。

 

城子さん、

うまくいったようで、良かったです!^^