2017-05-10 10 views
1

光るアプリにアクセスする人のIPを取得する方法はありますか?うまくいけば、R/Shinyソリューションがありますが、私はjavascriptソリューションも受け入れることができます。私はIPをジオコード化して、ほとんどのユーザーがアプリにアクセスする国を視覚化するグラフを作成し、すべてのユーザーが見ることができるようにその情報をアプリに入れます。私はユーザーのIPを取得する方法が必要です、他のものは簡単に解決可能です。ShinyのユーザーIPを取得

+2

こちらをご覧ください:https://shiny.rstudio.com/articles/usage-metrics.htmlこちら:https://shiny.rstudio.com/articles/google-analytics.html – Jav

答えて

1

これを試すことができます。フォルダwwwで 、このファイルを入れて、getIP.js言う:

$(document).ready(function(){ 
    $.get("http://ipinfo.io", function(response) { 
    Shiny.onInputChange("getIP", response); 
    }, "json"); 
}); 

ui.Rで:

shinyUI(fluidPage(
    tags$head(
    tags$script(src="getIP.js") 
), 
    ....... 

server.Rに(観察者が単にテストのためです):

IP <- reactive({ input$getIP }) 

    observe({ 
    cat(capture.output(str(IP()), split=TRUE)) 
    }) 

その後IP()の出力(私は私のIPを隠す)のようなリストを得る:

List of 8 
$ ip  : chr "xx MY IP IS HERE xx" 
$ hostname: chr "No Hostname" 
$ city : chr "Liège" 
$ region : chr "Wallonia" 
$ country : chr "BE" 
$ loc  : chr "50.6412,5.5718" 
$ org  : chr "AS12392 Brutele SC" 
$ postal : chr "4020" 

これは完全ではありません。結果はNULLになることがあります。

関連する問題