satoと申します。連投になってもうしわけありません。
kintone.proxyのPOSTがうまくいきません。
応急処置としてjQueryでしのいでいます。
たとえば、これはあるAPIのログイン時です。
//kintone proxy POST
var token;
var header = {“Content-Type”: “application/json”};
var query = {“f”:“json”, “username”:myname, “password”:mypassword, “referer”:“http://somewhere.com”};
var url = ‘https://www.somewhere.com/generateToken’;
kintone.proxy(url, ‘POST’, header, query, function(body, status, headers) {
//success
console.log(status);
console.log(body);
token = body.token;
if (typeof(token) === ‘undefined’){
alert(‘ログインに失敗しました。usernameかpasswordが間違っています。’);
}else{
alert(‘ログインに成功しました。’)
}
}, function(error) {
//error
console.log(error);
alert(‘ログインに失敗しました。’);
token = null;
});
実行結果は ‘ログインに失敗しました。usernameかpasswordが間違っています。’
status = 200 で通信自体は成功していますが、帰ってきた body が HTML形式 で、“f”:“json” で指定したJSONと違っていて、うまくパースできてません。
一方、うまく動作しているjQueryは以下のとおりです。
//jQuery
$.ajax({
url: ‘https://www.somewhere.com/generateToken’,
type: ‘POST’,
dataType: ‘json’,
data: {‘f’:‘json’, ‘username’:myname, ‘password’:mypassword, ‘referer’:‘http://somewhere.com’},
timeout: 10000,
}).done(function(resp){
console.log(resp);
token = resp.token;
if (typeof(token) === ‘undefined’){
alert(‘ログインに失敗しました。usernameかpasswordが間違っています。’);
}else{
alert(‘ログインに成功しました。’)
}
}).fail(function(resp){
console.log(resp);
alert(‘ログインに失敗しました。’);
token = null;
});
jQueryだと、kintoneのアップデート時に動作が保証されないと聞きました。
できれば、kintone.proxyに直したいのですが、どうすればよろしいでしょうか。
※myname,mypasswordは、その都度入力いたします。