我正在尝试通过在R studio服务器上运行的脚本连接到谷歌分析的API。
我已按照本教程中的步骤进行操作:
http://www.r-bloggers.com/how-to-extract-google-analytics-data-in-r-using-rgoogleanalytics/
如果我在localhost上运行它,它可以正常工作,但是当我尝试通过R studio在远程服务器上运行脚本时,
authroization步骤未完成,因为它尝试连接到localhost上的url,即
localhost:1410/
而不是REMOTESERVERHOSTNAME:1410
我发现这篇文章建议通过R studio运行端口转发:link
但如果明天,如果我想在其他主机上访问它,我不想先设置端口转发。
如何在不设置端口转发的情况下运行此脚本?我的R脚本进行oauth身份验证的其他方法有哪些?
答案 0 :(得分:4)
一个建议是使用Google Service Account。通过CRAN提供的googleAuthR
Mark Edmondson包提供了使用Google服务帐户在R中执行服务器端身份验证的功能。同一作者的另一个名为googleAnalyticsR
的软件包(也在CRAN上)与googleAuthR
集成,并使用生成的身份验证令牌对Google Analytics Reporting API执行查询,包括最新版本4.0。
实现这一目标:
googleAuthR
进行身份验证时,提供私钥JSON文件的位置作为参数(请参阅下面的示例。):以下示例R脚本引用包含私钥的JSON文件,并执行基本的Google Analytics报告查询。请记住将json_file
参数设置为相应的文件路径,并将id
参数设置为相应的Google Analytics视图:
library(googleAuthR)
library(googleAnalyticsR)
gar_auth_service(
json_file = "API Project-xxxxxxxxxxxx.json",
scope = "https://www.googleapis.com/auth/analytics"
)
google_analytics(id = "123456789", start = "2016-06-01", end = "2016-06-28")