R脚本从谷歌分析导入数据

时间:2016-05-30 12:39:23

标签: r google-analytics google-analytics-api

我正在尝试通过在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身份验证的其他方法有哪些?

1 个答案:

答案 0 :(得分:4)

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

实现这一目标:

  1. 为您的Google API项目创建一个服务帐户。
  2. 下载包含服务帐户私钥的JSON文件。
  3. 以与使用其他任何用户相同的方式授予服务帐户对Google Analytics的访问权限。
  4. 在使用googleAuthR进行身份验证时,提供私钥JSON文件的位置作为参数(请参阅下面的示例。):
  5. 以下示例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")