使用 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
从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