使用 r 连接到 Admob

Connecting to Admob with r

Google Admob API查询数据到R环境有没有流畅的解决方案? (例如类似于 googleAnalyticsR 包)

因此,如果有人正在寻找答案,我制定的解决方案是使用 library(httr)library(jsonlite),它们是用于管理 API 的 [=17] 的通用软件包=]

首先为 admob 设置您的 google 应用并生成 oauth 凭据, 如下所述将它们存储并授权令牌。

获取令牌:

options(admob.client_id = client.id)
options(admob.client_secret = key.secret)


# GETTING OAUTH TOKEN
token = oauth2.0_token(endpoint = oauth_endpoints("google"), # 'google is standard
               app = oauth_app(appname = "google",
                 key = getOption('admob.client_id'),
                 secret = getOption("admob.client_secret")
               ),
               scope = r"{https://www.googleapis.com/auth/admob.report}",
               use_oob = TRUE,
               cache = TRUE)

您可以在此处的可用 google 文档中生成正文请求:
https://developers.google.com/admob/api/v1/reference/rest/v1/accounts.networkReport/generate

我正在通过我的 as.list:

`json body` = toJSON(list(`reportSpec` = list(
  `dateRange` = list(
    `startDate` = list(
      `year` = 2021,
      `month` = 10,
      `day` = 20),
    `endDate` = list(
      `year` = 2021,
      `month` = 10,
      `day` = 22
    )),
  `dimensions` = list("DATE"),
  `metrics` = list("IMPRESSIONS")
)), auto_unbox = TRUE)

查询您的要求:

test = POST(url = 'https://admob.googleapis.com/v1/accounts/YOURPUBIDGOESINHERE/networkReport:generate',
            add_headers(`authorization` = paste("Bearer",
                                                token$credentials$access_token)),
            add_headers(`content-type` = "application/json"),
            body = `json body`
            )

完成一些数据清理,您就完成了。

jsonText = content(test, as = 'text')
df = fromJSON(jsonText, flatten = T)
df = na.omit(df[c('row.metricValues.IMPRESSIONS.integerValue',
                  'row.dimensionValues.DATE.value')]) # select only needed columns
row.names(df) = NULL # reindex rows
df