r语言 - rdrop2 on shinyapps.IO身份验证不起作用



以便能够持久地存储在Shinyapps上创建的数据。我决定通过rdrop2使用Dropbox。但是,我有一个问题:rdrop2每次都希望通过浏览器从Dropbox进行手动认证。

我的计划是通过dropkey.rds拦截它。

所以我通过本地PC上的浏览器完成了身份验证,保存了下拉键。rds,为了安全起见,把它放在我的www文件夹和相应脚本所在的目录中,并放在"项目顶部文件夹"中。简单地让函数可以找到下拉键。肯定是RDS

不幸的是,它不起作用。即使在本地,脚本也要求我进行身份验证(至少在我第一次运行它时是这样)。在Shinyapps中,程序只是崩溃,因为这里没有浏览器可以打开。

如何绕过Shinyapps.io中的身份验证?

你可以在文章的末尾找到一些代码摘录。谢谢你! !

问好

代码提取:

token <- readRDS("droptoken.rds")
drop_acc(dtoken = token)

drop_upload(Pn, path = "test")

(Pn只是要上传的png文件的路径)

日志Shinyapps.io

等待浏览器验证…2019-10-15 t10:21:44 .490437+00:00 shinyapps[48xxxxx]:按Esc/Ctrl +[qh] [48xxxxx]:https://www.dropbox.com/oauth2/authorize?client_id=mxxxxxx2w&redirect_uri=xxxx[2010-10-15]: shinyapps[48xxxxxx]:请指指点点您的浏览器到以下url:

小更新:

我能够解决这个问题。解决方案如下所述:

为了让未来的读者更清楚,对于一个闪亮的应用程序,你应该包括您的令牌作为RDS,然后

使用像drop_auth(rdstoken =)这样的令牌进行身份验证tokenfile.rds")在全局。R或在服务器的顶部。R,则叫其他drop_()函数通常(不使用dtoken参数)可以不调用drop_auth(),从RDS文件中读取令牌到R中,然后通过dtoken将该令牌对象传递给每个drop_()函数我认为第一种选择要好得多(我也是这么做的),但第二个应该还是可行的。

将身份验证置于服务器的顶部。R(和策略ui)。R:D)为我解决了这个问题。请注意,您希望在脚本中使用以下rdrop2命令,而不需要再次调用授权或rds文件!:)

相关内容

  • 没有找到相关文章

最新更新