RGA(CRAN) - “get_accounts”提供错误的帐户

时间:2014-11-15 04:08:40

标签: r google-analytics

  

请注意:CRAN的RGA包。这与" rga"不同。   来自Github的包裹。不过,我对两者都有同样的问题   包。但是对于这个问题,让我们只从CRAN那里坚持RGA。

**问题已更新和编辑,因为急救是不够的。我仍然遇到帐户问题。

我使用2封电子邮件来访问Google Analtics。每个人都可以访问Google Analytics中的不同帐户。我在家里使用电子邮件A,并在工作时给B发电子邮件。

现在,我在R中使用RGA(来自CRAN),在我家,我需要从电子邮件B(可以访问特定Google Analytics帐户的工作电子邮件)访问Google Analytics帐户。

问题在于使用此代码时:

对于帐户1:电子邮件A(家庭电子邮件):

client.id1 <- "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

client.secret1 <- "bbbbbbbbbbbbbb"


ga_token1 <- authorize(client.id1, client.secret1, cache = TRUE, verbose =    getOption("rga.verbose", FALSE))

get_accounts(start.index = NULL, max.results = NULL, ga_token1, verbose = getOption("rga.verbose", FALSE))

对于帐户2:电子邮件B(工作电子邮件):

client.id2 <- "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

client.secret2 <- "yyyyyyyyyyyyyyy"


ga_token2 <- authorize(client.id2, client.secret2, cache = TRUE, verbose =   getOption("rga.verbose", FALSE))


get_accounts(start.index = NULL, max.results = NULL, ga_token2, verbose =    getOption("rga.verbose", FALSE))

无论我在家用电脑上使用什么,我的GA家庭Gmail帐户和GA的工作Gmail帐户都可以获得相同的帐户。

我有什么步骤可以丢失吗?

我想获取电子邮件B的帐户,但不管我刚收到与电子邮件A相关的帐户。

我已经对我的所有Google AnalyticsAPI项目(来自A和B)进行了降级,并重新创建了电子邮件B的API。但无论如何,我只是获取电子邮件A的帐户。

**我的Google Api项目是使用B创建的(可以访问欲望帐户的电子邮件)。但我只看到与A相关的帐户。

2 个答案:

答案 0 :(得分:3)

您需要创建两个不同的令牌,这些令牌将通过Google登录页面对您验证的电子邮件进行授权。通过自述文件(?rga.open)中描述的方法获取数据也更容易,但对于您的示例:

##authenticate with first email
ga_token1 <- authorize(client.id, client.secret, cache = TRUE, verbose = getOption("rga.verbose", FALSE))
##authenticate with second email
ga_token2 <- authorize(client.id, client.secret, cache = TRUE, verbose = getOption("rga.verbose", FALSE))

然后获得帐户:

get_accounts(start.index = NULL, max.results = NULL, ga_token1, verbose = getOption("rga.verbose", FALSE))
get_accounts(start.index = NULL, max.results = NULL, ga_token2, verbose = getOption("rga.verbose", FALSE))

但我会这样做:

## authenticate under first email
rga.open(instance = "ga1")
## authenticate under second email
rga.open(instance = "ga2")

然后调用配置文件等数据:

profiles1 <- ga1$getProfiles()
profiles2 <- ga2$getProfiles()

答案 1 :(得分:0)

它的出现是因为令牌存储在同一个缓存文件中(默认为.ga-token.rds),即首先替换第二个令牌。使用令牌时,它会读入缓存文件。

要解决此问题,您应设置cache = FALSE或为每个令牌定义特定的缓存路径。以下示例:

首先,禁用缓存:

work_token <- authorize(client.id1, client.secret1, cache = FALSE)
home_token <- authorize(client.id2, client.secret2, cache = FALSE)

其次,不同的缓存路径:

work_token <- authorize(client.id1, client.secret1, cache = "work.token")
home_token <- authorize(client.id2, client.secret2, cache = "home.token")

检查一下:

list_profiles(token = work_token)
list_profiles(token = home_token)