在Unix服务器上的R脚本中使用RAdwords包在rjson中出错

时间:2018-06-05 13:57:43

标签: r unix server google-adwords rjson

我有以下脚本,当我在本地PC上运行时,它运行得非常好:

library(RAdwords)

autX <- doAuth()          

data <- getData(clientCustomerId='xxx-xxx-xxxx',
                google_auth=autx
                )

但是,当我尝试在Unix-Server上运行相同的脚本时,我收到此错误消息:

Error in rjson::fromJSON(RCurl::postForm("https://accounts.google.com/o/oauth2/token",  :
  STRING_ELT() can only be applied to a 'character vector', not a 'raw'

问题:可能是什么原因以及如何解决?

顺便说一下:

  1. 我确实将文件.gitgnore.google.auth.RData从我本地PC上的文件夹中复制到我服务器上的目录中。
  2. 如果我只是单独输入doAuth(),那么会收到错误消息。

1 个答案:

答案 0 :(得分:1)

问题:

getData()调用更新Google AdWords API身份验证令牌的函数refreshToken()。在函数refreshToken内,RCurl命令返回原始数据文件而不是字符文件格式。 rjson::fromJSON会返回通过添加rawToChar()解决的错误。

解决方案:

我创建了该函数的补丁并更新了 RAdwords 的Github开发版本。

您可以使用以下命令安装新软件包版本:

require(devtools)
install_github('jburkhardt/RAdwords')