0

У меня есть несколько календарей в моей учетной записи Google, для которых я хотел бы создать периодическую резервную копию.Экспорт куки файлов .ics в Google Calendar в папку на Google Диске

Каждый календарь имеет определенный URL-адрес экспорта для своего файла .ics, например. https://calendar.google.com/calendar/exporticalzip?cexp=insert_long_string_of_characters

Я хотел бы взять каждую ссылку на экспорт для каждого календаря, и есть какой-то сценарий, который будет экспортировать файлы в указанную папку на моем Диске Google (а не к моей локальной машине)

ли такое возможно?

Спасибо!

Джейми

+0

Добро пожаловать в stackoverflow. см. [как написать хороший вопрос о стекеповерхности] (http://stackoverflow.com/help/how-to-ask) Покажите нам код, который вы пробовали до сих пор, и где он не работает после прочтения документации. –

ответ

0

Чтобы получить конкретный URL экспорта, вы можете использовать метод 'Files:get' для получения метаданных файла по идентификатору. В поле downloadUrl он содержит exportLinks, включая (ключ). Получите соответствующий URL-адрес загрузки, указанный в метаданных файла, затем извлеките фактическое содержимое или ссылку на файл, используя URL-адрес загрузки.

Для загрузки файлов, вы делаете авторизованные HTTP GET запроса URL ресурса файла и включить параметр запроса альта = медиа

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; 
} 
} 

Есть некоторые форматы Doc Google и поддерживаются экспорт MIME, проверить этот документ : https://developers.google.com/drive/v2/web/manage-downloads#downloading_google_documents