2016-05-30 68 views
4

我想通过在R studio服务器上运行的脚本连接到谷歌分析API。R脚本从谷歌分析导入数据

我按照本教程的步骤:

http://www.r-bloggers.com/how-to-extract-google-analytics-data-in-r-using-rgoogleanalytics/

如果我在本地主机上运行它,它工作正常的,但是当我尝试过R工作室在远程服务器上运行脚本,

authroization步骤没有完成,因为它会尝试连接到本地主机即URL

localhost:1410/ 

,而不是REMOTESERVERHOSTNAME:1410

我发现这个职位提示端口转发,如果过R工作室运行:link

但如果明天,如果我想访问其他主机上,我不想先设置端口转发。

如何在不设置端口转发的情况下运行此脚本?对于我的R脚本,oauth身份验证有哪些其他方式?

回答

4

一个建议是使用Google Service Account。通过CRAN提供的Mark Edmondson包的googleAuthR包提供了使用Google服务帐户在R中执行服务器端验证的功能。同一作者的另一个名为googleAnalyticsR的软件包(也在CRAN上)与googleAuthR集成,并使用生成的身份验证令牌对Google Analytics报告API执行查询,其中包括最新版本4.0。

要做到这一点:

  1. 为您的谷歌API项目创建一个服务帐户。
  2. 下载包含服务帐户私钥的JSON文件。
  3. 授予Google Analytics的服务帐户访问权限,方式与您对其他任何用户的权限相同。
  4. 供应私钥JSON文件作为与googleAuthR验证时的参数的位置(见下面的例子。):

以下为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")