Rest APIでフィールドの削除を実施したいのですが、
"不正なJSON文字列です"というエラーが帰ってきます。
下記の様なコードを組んでいるのですが、問題点が分かりませんん。
何か問題がありましたらご指摘頂ければと思います。
以上、よろしくお願いします。
var J_HEADERS={
‘X-Cybozu-Authorization’:<Kintone認証情報>,
‘Authorization’ : 'Basic ’ + <Basic認証情報>,
‘Content-Type’: ‘application/json’
};
var setVal ={
“app”: appID,
“revision”: -1,
“fields”: [
“文字列_1行”,
“数値”
]
};
return kintone.proxy(URL + ‘/k/v1/preview/app/form/fields.json’, ‘DELETE’, J_HEADERS , setVal).then(function(args) {
var resp = JSON.parse(args[0]);
return resp;
}, function(error){
console.log(error);
});
Akira Takahashiさん
cstapの落合です。
フォームの設定の変更 に関するAPIは7/12のアップデート以降に有効になります。
7/12以降に試してエラーが出るようでしたら、またご質問下さい。
ご回答ありがとうございます。
後日確認したいと思います。
cstap 落合様
確認しましたが、"不正な文字列です"というエラーが発生しております。
上記コードの問題点をご教示ください。
Akira Takahashiさん
kintone.proxy を使っていますが、他のkintone環境のフィールドを削除したいのでしょうか?
そうでないなら、kintone.api を使った方がいいかと思います。
var url = kintone.api.url('/k/v1/preview/app/form/fields.json', true);
var params = {
"app": appID,
"fields": [
"文字列_1行",
"数値"
]
};
kintone.api(url, 'DELETE', params).then(function(resp) {
console.log(resp);
}, function(error) {
console.log(error);
});
こんな感じで使えるかと思います。
cstap 落合様
ご認識の通り他のドメインのKintoneのフィールドを削除したいので、どうしてもkintone.proxy使用する必要があります。
Akira Takahashiさん
ちょっと原因わかりにくいですが、クエリーでも指定できるのでクエリーで指定してみてはどうでしょう?
一応こんな感じでAPI使えたのは確認できました。
kintone.proxy(
'https://cstap.cybozu.com/k/v1/preview/app/form/fields.json?' + "app=571&fields[0]=%E6%96%87%E5%AD%97%E5%88%97__1%E8%A1%8C_",
'DELETE',
{"X-Cybozu-Authorization": "changeMe"},
{}
).then(function(args) {
console.log(args[1], JSON.parse(args[0]), args[2]);
}, function(err) {
console.log(err);
});
ご教授頂いた方法で問題なく削除することができました。
ありがとうございました
Akira Takahashiさん
解決出来たようでよかったです!
また何かありましたら質問して下さい!