我正在尝试通过R设置自动化,该自动化将每周从Dropbox下载CSV文件。我正在使用retmis
软件包。
问题是,每次有人将新版本的文件上载到Dropbox文件夹时,URL中的命名约定就会更改。
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个字母和数字组成的字符串。
这是可以自动化的东西吗?如果可以的话,我该怎么做呢?
答案 0 :(得分:0)
Dropbox共享链接中的这些字符串是随机的,不可预测。每个新的共享链接都会获得一个新字符串。
您可能有几种方法可以解决此问题:
a)在您当前的设置中,您将日期包括在文件名中,因此,每周的上传都会生成一个新文件。如果您只需要提供当周的数据,并且可以控制上载者或上载者,则可以从文件名中省略日期,并通过覆盖数据每周使用相同的文件名/路径每一次。如果这样做,您可以每周使用相同的共享链接,它将始终只返回最新数据。
b)但是,如果确实需要保留每个文件,则可以使用Dropbox API为每个新文件创建一个新的共享链接。为此,您将使用/2/sharing/create_shared_link_with_settings endpoint。 (我没有用于此的示例R代码,但是有一个curl
示例,您可以翻译或使用第三方库。)
c)如果您可以使用Dropbox API,并且也不需要共享链接,则可以使用API直接访问文件数据,而无需创建共享链接。为此,您可以使用the /2/files/download endpoint。