用于从 google 分析导入数据的 R 脚本

R script to import data from google analytics

我正在尝试通过 R studio 服务器上的脚本 运行ning 连接到 google 分析 API。

我已按照本教程中的步骤操作:

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

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

授权步骤未完成,因为它尝试连接到本地主机上的 url,即

localhost:1410/

而不是REMOTESERVERHOSTNAME:1410

我发现这个 post 如果 运行 通过 R studio 宁建议端口转发:

但如果明天,如果我想在另一台主机上访问它,我不想先设置端口转发。

如何在不设置端口转发的情况下运行这个脚本?还有哪些其他方法可以为我的 R 脚本进行 oauth 身份验证?

一个建议是使用 Google Service Account. The googleAuthR package by Mark Edmondson, available through CRAN, provides functionality to perform server-side authentication in R using a Google Service Account. Another package by the same author called googleAnalyticsR,也在 CRAN 上,与 googleAuthR 集成并使用生成的身份验证令牌针对 Google 分析报告 APIs,包括最新版本,4.0.

要实现这一点:

  1. 为您的 Google API 项目创建一个服务帐户。
  2. 下载包含服务帐户私钥的 JSON 文件。
  3. 授予服务帐户对 Google Analytics 的访问权限,就像您授予任何其他用户一样。
  4. 在使用 googleAuthR 进行身份验证时,提供私钥 JSON 文件的位置作为参数(参见下面的示例。):

以下示例 R 脚本引用包含私钥的 JSON 文件并执行基本的 Google Analytics 报告查询。请记住将 json_file 参数设置为适当的文件路径,并将 id 参数设置为适当的 Google 分析视图:

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")