Автоматическое обновление ссылки на файл каждые сутки, Google Drive?
Привет всем! Возможно бредовый вопрос, но я буду очень рад если кто-то поможет решить мою проблему.
У меня есть файл на гугл диске в формате PDF, и есть общедоступная ссылка на него.
Мне нужно не заменяя файл (т.к. он весит 200мб+) обновить общедоступную ссылку на новую. Так нужно делать каждые 24 часа. Также нужно записывать новую ссылку в переменную в php файле.
Возможно ли так сделать?
Как правильно использовать Google Drive API или он здесь не нужен?
Дополнительно:
Вы можете использовать Google Drive API для создания копии файла без физического переноса данных по сети.
https://developers.google.com/drive/api/v3/referen...
При успешном ответе вы можете захватить новый id файла. Если вы копируете файл сразу в общедоступную папку, то у него в свойствах также сразу появится ссылка на общий доступ (можно запросить через дополнительные поля fields: "id,name,webViewLink").
После успешного ответа, вы можете удалить исходный файл.
Обратите внимание, что при объеме Диска 15Гб вы можете сделать копию файла в 15Гб, и ваш Диск будет функционировать. За это время можно спокойно удалить исходный файл.
Представления не имею, что у вас там за PHP, но можно или по cron на сервере это делать, либо по триггерам на сервисе, либо вообще через Google Apps Script, в последнем случае, нужно будет знать, куда положить результат работы скрипта, хотя, он может хранить у себя в пропертях и отдавать ссылку по запросу, как внешний сервис.
- Здравствуйте! Спасибо большое за ответ. Я пишу Telegram бота на PHP. Бот должен давать доступ на защищённый файл PDF на диске, но только на один день. По этому мне и нужно заменять ссылку каждые 24 часа. Проблема в том что я в этом не очень разбираюсь и возможно выбрал не самый легкий и быстрый вариант. В любом случае - Большое спасибо вам за помощь!
- Anton K, тут может быть проблема в том, что вам нужно давать доступ для каждого уникального пользователя. Тогда вам придется иметь нужное количество копий. Вы можете удалять все старые файлы по запросу через API, выбрав только те, которые были созданы более 24 часов назад. См. createdTime в операторах запросов https://developers.google.com/drive/api/v3/ref-sea...
- Alexander Ivanov, Понял. Огромное вам спасибо за помощь)
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для автоматического обновления ссылки на файл каждые сутки с использованием Google Drive, вы можете воспользоваться Google Apps Script. Ниже приведен пример кода на языке программирования JavaScript, который можно использовать для этой цели:
function updateLink() { var fileId = "YOUR_FILE_ID_HERE"; // Укажите здесь ID вашего файла на Google Drive var file = DriveApp.getFileById(fileId); var url = file.getUrl(); var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var cell = sheet.getRange("A1"); // Укажите ячейку, в которую нужно поместить обновленную ссылку cell.setValue(url); } function scheduleUpdate() { ScriptApp.newTrigger('updateLink') .timeBased() .everyDays(1) .create(); }
В этом коде функция `updateLink` получает ссылку на файл с Google Drive по его ID и помещает ее в указанную ячейку таблицы Google Sheets. Функция `scheduleUpdate` создает триггер, который будет запускать функцию `updateLink` ежедневно.
Чтобы использовать этот скрипт, вам нужно создать новый проект в Google Apps Script, вставить этот код в редактор скриптов и сохранить его. Затем вы можете настроить расписание выполнения функции `updateLink` через интерфейс Google Apps Script.
Надеюсь, это поможет вам автоматизировать обновление ссылки на файл на Google Drive каждые сутки. Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать.