icloud 캘린더 (CalDav)를 구문 분석하려고합니다. 캘린더는 webcal 프로토콜을 통해 액세스 할 수 있습니다. 캘린더 주소는 다음과 같습니다. webcal://p19-calendarws.icloud.com/ca/....
node.js와 함께 webcal 요청을 보내려면 어떻게해야합니까?
내 잘하면 쉽게 질문 할 수 있습니다. 어떻게 webcal 프로토콜로 요청을 보낼 수 있습니까? 나는 요청 모듈과 함께 시도했지만 그 오류 메시지가있어 [Error: Invalid protocol: webcal:]
또한 nativ http 모듈이 적합하지 않은 것 같습니다.
편집 : 는 HTTP 모듈과 내 시도 : var에 URL = "있으며 webcal : //p19-calendarws.icloud.com/ca/************** ";
var http = require('http');
http.get(url, function(res) {
console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
오류 다음 가져 오기 : Error: Protocol:webcal: not supported.
솔루션 : 우선 달력 주소 https://
로 webcal://
를 교체해야합니다. Apple은 캘린더의 icalendar 파일로 리디렉션합니다. 리디렉션 때문에 나는 리디렉션을 잘 처리하는 request 모듈을 사용합니다.
var request = require('request');
var calendarUrl = 'webcal://p19-calendarws.icloud.com/*****';
var options = {
url: calendarUrl.replace('webcal://', 'https://'),
gzip: true
};
request(options, function (error, response, icalData) {
console.log(icalData);
});
일반 http (s)로 읽으셨습니까? 다른 대안은 [this] (https://github.com/mikedeboer/jsDAV)뿐입니다. –
예 https 모듈을 시도했지만 작동하지 않습니다. 게시 한 라이브러리는 WebDav 서버입니다. 하지만 웹캡 프로토콜과 함께 작동하는 CalDav 클라이언트가 필요합니다. – tschiela
NPM 모듈을 쓸 수있는 기회처럼 들립니다. –