Загрузите самый последний файл Zip из Outlook в R - размещен удаленно - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу разместить свой r-Script на сервере, чтобы я мог создать задание cron.Мой r-скрипт вызывает мое приложение Outlook на моем локальном компьютере и извлекает самое последнее электронное письмо с определенным именем субъекта и загружает / извлекает ZIP-файл в R.

Код ниже:

##Load all packages
library(readr)
library(RDCOMClient)
library(jsonlite)

##Load Data From Email
##File location and Email must be changed for each users unique file name and file path
outlook_app <- COMCreate("Outlook.Application")
search <- outlook_app$AdvancedSearch(
  "Inbox",
  "urn:schemas:httpmail:subject = 'Subject Name'"
)
Sys.sleep(5) 
results <- search$Results() # Saves search results into results object
Sys.sleep(5) 

##Retrieve Most Recent Email
results$Item(1)$ReceivedTime() # Received time of first search result
as.Date("1899-12-30") + floor(results$Item(1)$ReceivedTime()) # Received date
# Iterates through results object to pull out all of the items
for (i in 1:results$Count()) {
  if (as.Date("1899-12-30") + floor(results$Item(i)$ReceivedTime()) 
      == as.Date(Sys.Date())) {
    email <- results$Item(i)
  }
}

##Save to Temp File
attachment_file <- tempfile()
email$Attachments(1)$SaveAsFile(attachment_file)

##Automatically Determine csv file name
file_name<-unzip(attachment_file,list=TRUE)
csv_file<-file_name$Name

##Read csv File from Temp Directory
file_extract <- read_csv(unz(attachment_file,csv_file), skip = 8)

На моем компьютере в настоящее время работает нормально, но я не думаю, что это будет работать удаленно, потому что это вызывает мое приложение Outlook на моем компьютере.Кто-нибудь смог вызвать outlook удаленно для такого типа целей?

...