OAuth(从“;httr”;)到闪亮服务器上的LinkedIn

OAuth(从“;httr”;)到闪亮服务器上的LinkedIn,r,oauth,linkedin,shiny-server,httr,R,Oauth,Linkedin,Shiny Server,Httr,我正试图使用OAuth从“闪亮”服务器上的“httr”库连接到LinkedIn API。我已经用一个闪亮的客户端ui和服务器端包装了来自的本地工作的OAuth示例。我让客户端ui正常工作 library(shiny) shinyUI(pageWithSidebar( sidebarPanel ( textInput("userEmail", "Your email address:", value =""), submitButton("Grant Permission")

我正试图使用OAuth从“闪亮”服务器上的“httr”库连接到LinkedIn API。我已经用一个闪亮的客户端ui和服务器端包装了来自的本地工作的OAuth示例。我让客户端ui正常工作

library(shiny)

shinyUI(pageWithSidebar( 
  sidebarPanel (
  textInput("userEmail", "Your email address:", value =""),
  submitButton("Grant Permission")
  ),
  mainPanel()
))
但是,服务端不打开浏览器进行身份验证

library(shiny)
library(httr)

shinyServer(function(input, output) {

  output$GrantPermission <- reactive ({

    linkedin <- oauth_endpoint("requestToken", "authorize", "accessToken", base_url = "https://api.linkedin.com/uas/oauth/")

    myapp <- oauth_app("linkedin", key = "abc", secret = "def")

    token <- oauth1.0_token(linkedin, myapp)

    sig <- sign_oauth1.0(myapp, token$oauth_token, token$oauth_token_secret)

    save.image(paste(input$userEmail, ".RData"))
  })
})
库(闪亮)
图书馆(httr)
shinyServer(功能(输入、输出){

output$GrantPermission我想我在oAuth和twitteR上也遇到了类似的问题。这是一个SSL问题,通过添加以下内容得到了解决:

require(RCurl) 
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

感谢您共享您的解决方案,Troy!虽然代码在本地正常工作,但没有证书,我在一台闪亮的服务器上尝试了您的解决方案,并且通过从RStudio控制台运行它取得了一些进展。它确实打开了一个浏览器窗口进行身份验证,再次感谢您!但是,在授予权限后,它尝试返回到服务器到。有什么想法吗?我会投票支持你的答案,但它需要15分的声誉-我只有1分。你可以尝试在开发版本中使用use_oob,但我认为httr的OAuth支持对于这个用例还没有准备好。感谢你提议尝试开发版本解决方案,感谢你所有的伟大贡献,亲爱的Hadley!我有我们ed install_github(“httr”)附加的httr_0.2.99。从httr的文档中,use_oob=TRUE仅在OAuth 2.0中可用。但是,我无法在LinkedIn中成功使用OAuth 2.0。我们正在前进!在OAuth 2.0_令牌中使用use_oob=TRUE参数提供了一个URL并提示输入授权代码。然而,当我尝试d要在Firefox v25中打开url,我收到一个内容编码错误。请将浏览器指向以下url:输入授权代码:内容编码错误无法显示您试图查看的页面,因为它使用了无效或不受支持的压缩形式。