【发布时间】:2021-11-24 15:30:30
【问题描述】:
我正在尝试通过应用脚本中的 BigQuery API 访问 Google Analytics(分析)数据。 在我的函数中,我创建了查询:
var projectId = 'bigqueryanalytics360';
var query = "\
SELECT * \
FROM `bigqueryanalytics360.{dataset}.ga_sessions_*` AS ga_sessions \
LIMIT 5 \
"
var request = {
useLegacySql: false,
query: query,
}
但是,当我使用此查询发出请求时,我没有得到任何数据。另一方面,当我指定日期bigqueryanalytics360.{dataset}.ga_sessions_20211123 时,我得到了预期的数据。
我相信* 在这里弄乱了查询,我想我需要像在正则表达式中那样转义它,但我不确定如何。
如何自行运行
var projectId = 'XXXXXXXX';
var request = {
query: 'SELECT TOP(word, 300) AS word, COUNT(*) AS word_count ' +
'FROM publicdata:samples.shakespeare WHERE LENGTH(word) > 10;'
};
这样写:
var projectId = '{your-project-id}';
var query = "\
SELECT DISTINCT visitId \
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` \
LIMIT 10 \
"
var request = {
useLegacySql: false,
query: query,
}
确保您:
- 已启用 BigQuery API (link)
- 启用 Google API 范围 (link)
- 通过旧版编辑器启用 BigQuery API(使用旧版编辑器 >> 资源 >> 高级 Google 服务... >> BigQuery API)
你知道如何解决它吗?
【问题讨论】:
-
如果有很多表匹配
*怎么办? -
@TheMaster 这就是
*的重点——它包含所有以ga_sessions_开头的表格 -
回答你的第二个问题,我自己也不熟悉。这只是我最初的想法。 :)
-
好吧it is valid syntax。你能删除
LIMIT子句吗?你能提供完整的脚本吗?
标签: google-apps-script google-bigquery