kintone.proxyにて他ドメインへリクエストする場合、Basic認証を行う為、ヘッダに以下のとおりAuthorizationを指定していますが、401エラーとなりapiを実行することができません。
let header = {
'X-Cybozu-Authorization': ログイン名:パスワード, // base64変換
'Authorization': 'Basic ' + ログイン名:パスワード // 'Basic '以外base64変換
}
kintone.proxy(URL, 'GET', header, {}, function(resp, status, headers) {
console.log(status, resp, headers);
});
Basic認証を外した場合は、実行することができるのですが、認証有りの場合にエラーとなります。
原因に心当たりのある方、どうかご教示お願い致します。
suneo さん
別ドメインの ベーシック認証が設定されていない。か 別タブで別ドメインを開いており、既にベーシック認証をログインしているか。でしょうか。
HANSA さん
回答ありがとうございます。
いずれも問題ないと思います。
以下のようなエラーが出てしまいます。
<h2>アクセスするには認証が必要です。</h2> <p>Code: 401 Unauthorized</p>
suneo さん
私の方で以下のコードを実行したところ問題なくレコード取得できました。
let URL = 'https://{subdomain}.cybozu.com/k/v1/record.json?app=301&id=1'
let header = {
'X-Cybozu-Authorization': 'xxxxxxxxxxxx', // base64変換
// 'Authorization': 'Basic ' + ログイン名:パスワード // 'Basic '以外base64変換
}
kintone.proxy(URL, 'GET', header, {}, function(resp, status, headers) {
console.log(status, resp, headers);
});
エラーに表記されている通り、認証ができていないので、base64変換がおかしくないか などもう一度確認したほうがよいと思います。
私は以下のサイトでエンコードしました。
http://www.convertstring.com/ja/EncodeDecode/Base64Encode
HANSA さん
検証して頂きありがとうございます。
ヘッダの’Authorization’の指定ありでも取得できますか?
ログイン名、パスワードの内容、変換も間違いないのですが未だに認証が通りません…
suneo さん
Basic 認証設定してみましたが、かわらず実行できます。
エンコードできているとなると、コードには問題なさそうなので、
やはり許可している IP アドレスなどの設定周りを今一度確認したほうが良いと思います。
考えられる原因は、
IP アドレスの設定
Basic 認証の ID/PW
の2つくらいですね。。。
system
(system)
クローズされました:
7
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。