【问题标题】:Updating Google Analytics custom dimensions via GA Management API & R通过 GA Management API & R 更新 Google Analytics 自定义维度
【发布时间】:2018-09-21 14:13:34
【问题描述】:

我一直在尝试在 R 中编写一个脚本,以通过 Google Analytics Management API 以编程方式更新 Google Analytics 自定义维度(或指标)。

我已在文档中使用此页面来帮助构建调用:

https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtReference/management/customDimensions/update

主要问题是我可以发送呼叫,但响应是 404 状态,似乎没有任何回复。奇怪的是,如果我尝试使用相同参数的文档页面上的“尝试此 API”部分,我可以更改维度名称。见这里:

这是我一直在使用的 R 代码:

library(tidyverse)
library(httr)

ga_edit_auth <- function(client_id,client_secret) {

  myapp <- oauth_app("google", client_id,
                 client_secret)

  google_token <- oauth2.0_token(oauth_endpoints("google"), myapp,
                             scope =  "https://www.googleapis.com/auth/analytics.edit")

  google_token$init_credentials()

  return(google_token)
}

ga_token <- ga_edit_auth(id,secret)

#create the URL

api_url <- "https://www.googleapis.com/analytics/v3/management"
account_slug <- paste('/accounts/',account_id,sep='')
property_slug <- paste('/webproperties/',property_id,sep='')
dim_slug <- '/customDimensions/ga:dimension1'

post_url <- paste(api_url,account_slug,property_slug,dim_slug,sep = '')

#try to change the current dimension name value from 'old' to 'gold'

call <- POST(post_url,
         add_headers(Authorization = paste('Bearer', ga_token$credentials$access_token)),
         encode = 'json',
         body = list(kind = 'analytics#customDimension',
                     accountId = account_id,
                     webPropertyId = property_id,
                     name = 'gold',
                     index = 1,
                     scope = 'Hit',
                     active = TRUE,
                     id = 'ga:dimension1'
                     )
         )

然后这些是我得到的结果:

call$status_code

#404

content <- content(call,'parsed')

"
{xml_document}
<html>
[1] <body><p>Not Found</p></body>
"

【问题讨论】:

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


    【解决方案1】:

    请求方法应该是 PUT 而不是 POST。试试看。

    【讨论】:

    • 哈哈,天哪,这真的很明显!它甚至在文档中说得对——我首先为“插入”函数编写了代码,该函数使用 POST,然后复制并调整它以进行“更新”,但错过了这一点。我很困惑为什么插入有效而更新无效!哈哈,亲爱的。会试试的,听起来应该可以。
    • 哈哈,没问题的人。有时它只需要另一双眼睛。希望这就是问题所在!
    • 是的,刚刚用 PUT 对其进行了测试,它运行良好。感谢提供另一双眼睛!
    猜你喜欢
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    相关资源
    最近更新 更多