javascript 初心者ですが、restAPIを用いたキントトーンデータの取得に挑戦してます。
現在、テスト中ですが、下記のプログラムを起動したところ、以下のエラー
が出力されて、先に進めません(CORS対策は実施しています)
{"code":"CB_AU01","id":"d0BgPjlzJtGGhq2CNdBD","message":"ログインしてください。"}
確かにログインが必要だと思うのですが、どこの記述しすればよい
でしょうか?また、本来はapiトークンを埋め込みたいと考えて
いますので、その設定方法もご教示いただけると助かります。
よろしくお願いします。
以下のプログラムで、サブドメイン、Appid等は架空のものです。
//var appId = kintone.app.getId();
var appId = 99;
var Id = '9999';
var params = '?app=' + appId + '&id' + Id;
var url = 'https://xxxxx.cybozu.com/k/v1/record.json' + params;
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.onload = function() {
if (xhr.status === 200) {
// success
console.log(JSON.parse(xhr.responseText));
} else {
// error
console.log(JSON.parse(xhr.responseText));
}
};
xhr.send();
7件のコメント
下記に記載があります。
kintone REST APIの共通仕様 ユーザー認証
kintone アプリ上からだと kintone.api が便利です。
kintone REST API リクエスト
apiトークンを使う場合は、ソース上にapiトークンを記述するのは好ましくないので、処理をプラグインにして
プラグインから外部 API を実行する を使われたほうがいいと思います。
rex0220様
早速のコメント、ありがとうございます。
ただし、私が書き洩らしましたが、今回の試行はキントーン外
からのアクセスとなります。
具体的には工場で使うラズパイにキントーンの情報を取り込む
必要があり、開発をしています。
お手数ですがよろしくお願いします。
kintone 外からだと kintone REST APIの共通仕様 ユーザー認証 の記述通りですね。
APIトークン認証も載っています。
ありがとうございます。
具体的に、上に掲げたソースのどこに追加すればよろしいでしょうか?(javascript初心者なので、アドバイスを理解できず、申し訳ありません)
よろしくお願いいたします。
>パスワード認証
・リクエストヘッダに「X-Cybozu-Authorization」を追加し、「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。
// ログイン名が「Administrator」、パスワードが「cybozu」の場合
X-Cybozu-Authorization:QWRtaW5pc3RyYXRvcjpjeWJvenU=
リクエストヘッダなので、こんな感じで。
xhr.setRequestHeader('X-Cybozu-Authorization', 'QWRtaW5pc3RyYXRvcjpjeWJvenU=');
丁寧な説明、ありがとうございます。試してみます。
この件、無事動かすことができました。ありがとうございました。