0

Google 계정에 여러 개의 캘린더가 있습니다. 정기적으로 백업을 설정하고 싶습니다.여러 Google 캘린더 .ics 파일을 Google 드라이브의 폴더로 내 보냅니다.

각 캘린더에는 .ics 파일에 대한 특정 내보내기 URL이 있습니다 (예 : https://calendar.google.com/calendar/exporticalzip?cexp=insert_long_string_of_characters

나는 각 일정에 대한 각 수출 링크를 가지고 가고,

인가 (내 로컬 컴퓨터에 대신) 내 Google 드라이브에 지정된 폴더에 파일을 내보낼 것입니다 스크립트의 일종을 가지고 싶습니다 그런 일이 가능한가?

감사합니다.

제이미

+0

에 오신 것을 환영합니다. [좋은 stackoverflow 질문을 작성하는 방법을 참조하십시오] (http://stackoverflow.com/help/how-to-ask) 지금까지 시도한 코드와 설명서를 읽은 후에 실패한 코드를 보여줍니다. –

답변

0

특정 수출 URL을 얻으려면, 당신은 ID에 의해 파일의 메타 데이터를 얻을 수있는 방법 'Files:get'를 사용할 수 있습니다. downloadUrl 아래에는 (key)를 포함하여 exportLinks이 있습니다. 파일의 메타 데이터에 제공된 해당 다운로드 URL을 검색 한 다음 다운로드 URL을 사용하여 실제 파일 내용이나 링크를 검색하십시오.

은 =이 파일의 리소스 URL에 공인 HTTP GET 요청을하고 쿼리 매개 변수를 고도를 포함, 파일을 다운로드하려면 미디어

GET https://www.googleapis.com/drive/v2/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media 
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs 

private static InputStream downloadFile(Drive service, File file) { 
if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) { 
try { 
HttpResponse resp = 
service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl())) 
.execute(); 
return resp.getContent(); 
} catch (IOException e) { 
// An error occurred. 
e.printStackTrace(); 
return null; 
} 
} else { 
// The file doesn't have any content stored on Drive. 
return null; 
} 
} 

일부 Google 문서 형식과 지원 수출 MIME,이 문서를 확인할 수 있습니다 : https://developers.google.com/drive/v2/web/manage-downloads#downloading_google_documents