为什么HTTR包总是提示回调到1410端口

Why does HTTR package always suggest callback to port 1410

我是 API 调用世界的新手,我正在尝试使用 R 中的 HTTR 包连接到一些社交媒体 API。所有演示都建议使用回调 URL 作为本地主机端口 1410。有人可以向我解释一下端口 1410 有什么特别之处吗?我问的原因是因为我无法通过 shinyapps.io 部署不允许监听端口 1410 的应用程序并在端口 80 上工作。

我如何在 shinyapps.io 上部署和应用程序,并定期对 facebook (RFacebook) 或 Linkedin (RLinkein) 等社交网站进行身份验证调用

对您的问题来说重要的是,这些包确实也使用包 httpuv。如果正确实现(请检查您是否通过app > settings > add platform > website > website URL指定了此端口),您仍然需要确保httrhttpuv是运行。

我的回答是假设您知道在闪亮的服务器上侦听是由 listen 1410 配置的,并且必须使用 IPv4 地址指定主机,而不是通过主机名。

我遇到了这个问题,并找到了这个问题。既然我想出了答案,我就把它放在这里。

oauth_app函数的签名是

oauth_app(appname, key, secret = NULL, redirect_uri = oauth_callback())

如果你想让回调 URL 在端口 100,你可以只传递 redirect_uri = "http://localhost:100/".

顺便说一下,这里是 oauth_callback:

的源代码
function () 
{
    paste0("http://", Sys.getenv("HTTR_SERVER", "localhost"), 
        ":", Sys.getenv("HTTR_SERVER_PORT", "1410"), "/")
}

这就是回调 URL 默认为 1410 的原因。这也意味着可以通过将 HTTR_SERVER_PORT 环境变量设置为所需的端口号(并且不传递 redirect_uri 参数).