0

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

library(RAdwords)

autX <- doAuth()          

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

但是,当我尝试在我的 Unix 服务器上运行相同的脚本时,我会收到以下错误消息:

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. 我确实将文件从本地 PC.gitgnore.google.auth.RData的文件夹(我已经在其中进行了此身份验证)复制到了我的服务器上的目录。
  2. 如果我只键入 doAuth() 单独,我不会收到错误消息。
4

1 回答 1

1

问题:

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

解决方案:

我创建了该功能的补丁并更新了 Github 开发版的RAdwords

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

require(devtools)
install_github('jburkhardt/RAdwords')
于 2018-06-11T10:07:54.260 回答