新規投稿
フォローする

外部からのRESTAPIエラーの解消について(ログインしてください)

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();

0

7件のコメント

Avatar
rex0220

下記に記載があります。

kintone REST APIの共通仕様 ユーザー認証

kintone アプリ上からだと kintone.api が便利です。

kintone REST API リクエスト

apiトークンを使う場合は、ソース上にapiトークンを記述するのは好ましくないので、処理をプラグインにして

プラグインから外部 API を実行する を使われたほうがいいと思います。

0
Avatar
山本 隆

rex0220様

早速のコメント、ありがとうございます。
ただし、私が書き洩らしましたが、今回の試行はキントーン外
からのアクセスとなります。
具体的には工場で使うラズパイにキントーンの情報を取り込む
必要があり、開発をしています。
お手数ですがよろしくお願いします。

0
Avatar
rex0220

kintone 外からだと kintone REST APIの共通仕様 ユーザー認証 の記述通りですね。

APIトークン認証も載っています。

0
Avatar
山本 隆

ありがとうございます。
具体的に、上に掲げたソースのどこに追加すればよろしいでしょうか?(javascript初心者なので、アドバイスを理解できず、申し訳ありません)
よろしくお願いいたします。

0
Avatar
rex0220

>パスワード認証
・リクエストヘッダに「X-Cybozu-Authorization」を追加し、「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。

// ログイン名が「Administrator」、パスワードが「cybozu」の場合
  X-Cybozu-Authorization:QWRtaW5pc3RyYXRvcjpjeWJvenU=

リクエストヘッダなので、こんな感じで。

xhr.setRequestHeader('X-Cybozu-Authorization', 'QWRtaW5pc3RyYXRvcjpjeWJvenU=');

0
Avatar
山本 隆

丁寧な説明、ありがとうございます。試してみます。

0
Avatar
山本 隆

この件、無事動かすことができました。ありがとうございました。

0
サインインしてコメントを残してください。