お世話になります。
最近、知人に教えられてkintoneをお試し登録して触り始めました。
外部からのREST APIの呼び出しでつまづいてしまったので質問させてください。
localで動作中のAngularJSのアプリケーションからkintoneのREST APIを呼び出すと、以下のようなエラーではじかれてしまいます。
(HTTP OPTIONSで拒否されてHTTP GETまで進まない)何が原因なのでしょうか?
★アプリケーション(API呼び出し部分)
$http({
method: ‘GET’
, url: ‘https://xxxxxxx.cybozu.com/k/v1/apps.json’
, headers: {
‘Authorization’: ‘Basic ************************',
‘X-Cybozu-Authorization’: ’ ************************’,
}
}).success((data: any) => {
console.log(angular.toJson(data));
}).error((data: any) => {
console.log(angular.toJson(data));
});
★IEでの実行結果(コンソール出力)
SEC7118: https://xxxxxx.cybozu.com/k/v1/apps.json の XMLHttpRequest には Cross Origin Resource Sharing (CORS) が必要です。
ファイル: index.html
SEC7119: https://xxxxxx.cybozu.com/k/v1/apps.json の XMLHttpRequest には CORS プレフライトが必要です。
ファイル: index.html
SEC7120: 元の http://localhost:NNNNN が Access-Control-Allow-Origin ヘッダーに見つかりません。
ファイル: index.html
SCRIPT7002: XMLHttpRequest: ネットワーク エラー 0x80070005, アクセスが拒否されました。
★要求ヘッダ
キー 値
要求 OPTIONS /k/v1/apps.json HTTP/1.1
Accept /
Origin http://localhost:NNNNNN
Access-Control-Request-Method GET
Access-Control-Request-Headers authorization, x-cybozu-authorization, accept
Accept-Encoding gzip, deflate
User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
Host xxxxxx.cybozu.com
Content-Length 0
DNT 1
Connection Keep-Alive
Cache-Control no-cache
★応答ヘッダ
キー 値
応答 HTTP/1.1 200 OK
Server nginx
Date Sat, 28 Feb 2015 13:15:59 GMT
Content-Type text/html; charset=ISO-8859-1
Content-Length 1
Connection keep-alive
Cache-Control no-cache, no-store, must-revalidate
Set-Cookie JSESSIONID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;Path=/;Secure;HttpOnly
Expires Thu, 01 Jan 1970 00:00:00 GMT
X-Frame-Options SAMEORIGIN
Strict-Transport-Security max-age=315360000; includeSubDomains; preload;
X-UA-Compatible IE=Edge
X-Content-Type-Options nosniff
Set-Cookie __ctc=xxxxxxxxxxxxxxxxx; expires=Tue, 25-Feb-25 13:15:59 GMT; domain=cybozu.com; path=/