【问题标题】:Load .Rda file / Twitter Authentication in OpenCPU with R使用 R 在 OpenCPU 中加载 .Rda 文件/Twitter 身份验证
【发布时间】:2014-06-06 03:38:57
【问题描述】:

我创建了一个包,它使用 twitteR 包获取 Twitter 数据。但要这样做,它需要身份验证。 到目前为止,我在本地系统上创建了一个包含 Twitter 握手的 .Rda 文件,并将该文件放入我的包中。但是当我想在 OpenCPU 上执行该函数时,它会告诉我:

Error: cannot open the connection

In call:
readChar(con, 5L, useBytes = TRUE)

所以它似乎找不到文件。

  • 如何在 OpenCPU 中加载 .Rda 文件?
  • 我可以将它添加到我的包中,以便在加载包时加载它吗?
  • 身份验证过程是否有更好/更简单的方法?

感谢您的帮助

【问题讨论】:

    标签: r opencpu


    【解决方案1】:

    在 R 包中包含对象的最简单方法是将它们放在源包的 data 文件夹中。见writing R extensions 1.1.6appdemo 包也有一些例子。如果你想在加载包时自动加载数据,你需要在你的包中设置LazyData: trueDESCRIPTION

    设计身份验证的最佳方式取决于您的系统设计。在公共应用程序中,客户端将身份验证凭据作为函数参数提供是有意义的。如果您希望您的服务器从某处的磁盘读取凭据,请确保您在安全策略中允许此文件,请参阅server manual 的第 3.5 节。

    【讨论】:

    • 感谢您的帮助。它让我更进一步。在 R 中,我使用代码 data(auth, envir=environment()) registerTwitterOAuth(twitCred) 当我在本地运行它时,它可以找到。 Lazyload 加载数据,命令将其加载到环境中。但是当我在 OpenCPU 云中调用该函数时,出现以下错误:找到 auth.Rda 文件中的对象 twitCred。
    • 你能把你的示例代码贴在某个地方,这样我就可以帮你调试问题了> 另外,给数据文件赋予与对象相同的名称也是惯例,即twitCred.rda包含一个对象twitCred .
    • 将 .rda 文件的名称更改为 twitCred 后,函数调用似乎起作用了。但是现在我有另一个问题:它没有在主页中显示创建的 html。我将我的代码上传到github.com/JulianHill/TimelineVieweR 主页面在目录/inst/www 中它调用R 函数,该函数创建输出index.html 并将其放在一个div 中。但是 div 保持为空。你知道为什么吗?我认为这是因为缺少 js 文件。那么我应该如何设置路径或放置js文件的位置?
    猜你喜欢
    • 1970-01-01
    • 2011-07-30
    • 2015-03-22
    • 2014-04-14
    • 2017-05-24
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多