javascriptの初心者です。RESTAPIを用いて、外部サイトからキントーンアプリのある項目からクエリーを作成して、関連レコード(1件)を取得したのちに、その中の項目(ここでは 文字列__1行__2 ) を取得するプログラムを作成しています。以下のプログラムです。
ただしプログラムを実行すると(サブドメインとID/PWはマスクしています)、エラーになります。
コンソール上のエラーメッセージを見ると、『入力内容が正しくありません』とあり、続けて、idの項目に『必須です』と表示されています。今回のプログラムはIdの指定では無いのですが、idを要求されているのでしょうか?idを入力せずに、queryのパラメータでレコード取得を成功させるにはどうしたらよいでしょうか?
よろしくお願いします。(CORS対策は実施済の前提でお願いします)
alert(‘start’);
var appId = 13;
var idpw = ‘xxxxxxxxxxxx’;
const id_encoded = btoa(idpw);
var odID = 2420;
var MyQuery = ‘数値_5=’ + odID;
var MyQuery2 = encodeURI(MyQuery);
var params2 = ‘?app=’ + appId + ‘&query=’ + MyQuery2;
var url = ‘https://xxxxxx.cybozu.com/k/v1/record.json’ + params2;
var xhr = new XMLHttpRequest();
xhr.open(‘GET’, url);
xhr.setRequestHeader(‘X-Cybozu-Authorization’,id_encoded);
xhr.setRequestHeader(‘X-Requested-With’,‘XMLHttpRequest’);
xhr.onload = function() {
if (xhr.status === 200) {
// success
console.log(JSON.parse(xhr.responseText));
var jsonobj = JSON.parse(xhr.responseText);
alert(‘品名:’ + jsonobj.record.文字列__1行__2.value);
} else {
// error
console.log(JSON.parse(xhr.responseText));
var jsonobj = JSON.parse(xhr.responseText);
alert(‘コード:’ + jsonobj.code);
alert(‘メッセージ:’ + jsonobj.message);
}
};
xhr.send();