Автоматизация загрузки Dropbox в R

Я пытаюсь настроить автоматизацию через R, которая будет еженедельно загружать CSV-файл из Dropbox. Я использую пакет retmis.

Проблема в том, что в URL-адресе есть часть соглашения об именах, которое меняется каждый раз, когда кто-то загружает новую версию файла в папку Dropbox.

library(retmis)

    customer_id <- source_data("https://www.dropbox.com/s/yeeih34mueagpsx/customer_id_update_20180628_adv.csv?dl=1")

Это та средняя часть, которая мешает процессу автоматизации: yeeih34mueagpsx

Это будет не то же самое. На предыдущей неделе это было:

https://www.dropbox.com/s/tu5tp0ihplm7dh0/customer_id_update_20180621_adv.csv?dl=1

(Вы заметите, что он загружается каждый четверг)

Все, что я знаю, это то, что это будет строка из 15 букв и цифр.

Можно ли что-то автоматизировать, и если да, то как я могу это сделать?

Попробуйте использовать rdrop2, который использует официальный API для получения файлов из Dropbox. Что вообще такое пакет «ретмис»? Кажется, я не могу найти его в Google.

MrFlick 03.07.2018 22:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
293
1

Ответы 1

Эти строки в общих ссылках Dropbox случайны и непредсказуемы. Каждая новая общая ссылка получает новую строку.

Есть несколько способов подойти к этому:

a) В вашей текущей настройке вы включаете дату в имя файла, поэтому каждую неделю в результате загрузки создается новый файл. Если вам когда-либо нужны данные только за текущую неделю, и вы можете контролировать, кто или что выполняет загрузку, вы можете вместо этого опустить дату в имени файла и использовать одно и то же имя / путь к файлу каждую неделю, перезаписывая данные. каждый раз. Если вы сделаете это, вы сможете использовать одну и ту же общую ссылку каждую неделю, и она всегда будет возвращать только самые свежие данные.

б) Если вам действительно нужно сохранить каждый файл, вы можете использовать API Dropbox для создания новой общей ссылки для каждого нового файла. Для этого вы должны использовать / 2 / sharing / create_shared_link_with_settings конечная точка. (У меня нет для этого примера кода R, но есть пример curl, который вы можете перевести или использовать стороннюю библиотеку.)

c) Если вы можете использовать Dropbox API и вам также не нужна общая ссылка для чего-то еще, вы можете использовать API для прямого доступа к данным файла, не создавая общую ссылку. Для этого вы должны использовать конечная точка / 2 / files / download.

Другие вопросы по теме