新規投稿
フォローする

認証エラー(CB_AU01)について

お世話になっております。

kintoneのアプリからGaroonのスケジュールを変更するアプリを作成しているのですが、Garoonのスケジュールは変更できるのですが、そのあとログアウトしてしまう(?)のか、下記のエラーが出ます。

エラー
データの読み込みに失敗しました。
ログインしてください。

編集画面の保存前イベントで、別アプリに管理しているパスワードを取得してから、GaroonのスケジュールをPATCHしています。

PATCH自体は成功しているのですが、そのあと、詳細画面を表示しようとしてエラーになっているのかもしれません。

コンソールを見るとPOSTでエラーになっています。

POST https://{subdomain}.cybozu.com/k/api/app/6/record/2/getWithAcl.json?_lc=ja&_ref=https%3A%2F%2F{subdomain}.cybozu.com%2Fk%2F6%2Fshow%23record%3D2%26l.view%3D20%26l.q%26l.next%3D1%26l.prev%3D0%26mode%3Dedit 520 (520)

 

code: "CB_AU01"
message: "ログインしてください。"

 

認証のやり方に問題があるのでしょうか?

ご教授いただけますと幸いです。

よろしくお願いいたします。

 

/**
* パスワード管理アプリ操作
* @type {Object}
*/
var passwordDao = {};

// 編集画面の保存実行前のイベント
kintone.events.on('app.record.edit.submit', function(event) {

var record = event.record;

// パラメータ
var params = {

// タイトル
'subject': "タイトル" ,

// メモ
'notes': "メモ"
};

return new kintone.Promise(function(resolve, reject) {

// パスワード管理アプリからレコードを取得
passwordDao.select().then(function(resp) {
var resultRecord = resp.records;
var length = resultRecord.length;
if (length !== 0) {

// パスワードを取得
var password = resultRecord[0]['パスワード'].value;

// 「ログイン名:パスワード」をBASE64エンコード
var xCybozuAuthorization = btoa(kintone.getLoginUser().code + ":" + password);
var xhr = new XMLHttpRequest();
xhr.open('PATCH', https://{subdomain}.cybozu.com/g/api/v1/schedule/events/1, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('X-Cybozu-Authorization', xCybozuAuthorization);
xhr.setRequestHeader('Authorization', xCybozuAuthorization);
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(JSON.stringify(params));
resolve(event);
}

// 失敗時
}, function(resp) {
alert("パスワード管理レコードの取得に失敗しました。");
});
});
});


/**
* パスワード管理レコード取得処理
* @return {Object} kintone.Promiseオブジェクト
*/
passwordDao.select = function() {

// 検索パラメータ
var params = {

"app": アプリ番号,

"query": 'ユーザー名 in("' + kintone.getLoginUser().code + '")',

// 取得項目
"fields": ['パスワード']
};
return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params);
};

 

 

 

 

0

0件のコメント

ログインしてコメントを残してください。