谷歌分析.dat文件丢失,回落到noauth_local_webserver

时间:2017-05-04 15:56:35

标签: python amazon-web-services amazon-ec2 oauth-2.0 google-analytics-api

我有一台AWS EC2计算机,它一直运行每晚谷歌分析脚本加载到数据库中。直到本周末,它一直工作好几个月。我没有对代码进行任何更改。

这些是我的日志中显示的两个错误:

/venv/lib/python3.5/site-packages/oauth2client/_helpers.py:256:UserWarning:无法访问analytics.dat:没有这样的文件或目录   warnings.warn(_MISSING_FILE_MESSAGE.format(文件名))

无法启动侦听任一端口8080的本地Web服务器 或端口8090.请检查您的防火墙设置和本地 运行可能阻止或使用这些端口的程序。

回到--noauth_local_webserver并继续 授权。

看起来它缺少我的analytics.dat文件,但我已经检查过,该文件与调用GA API的脚本位于同一文件夹中。我一直在寻找数小时试图解决这个问题但是GA的上述错误的资源非常少。

有谁知道这里会发生什么?关于如何解决更多问题的任何想法?

1 个答案:

答案 0 :(得分:0)

我不确定为什么会这样,但我有一系列可能对您有用的步骤。

  1. 检查此问题是否是由Google Analytics API版本引起的,Google通常会弃用其先前版本的API。
  2. 我猜您在EC2服务器上的cron上运行此代码,请确保包含--- title: "xaringan + plotly + loop?" subtitle: "Does it work?" author: "Fenfen Kan" date: "2017/13/32" output: xaringan::moon_reader: lib_dir: libs nature: highlightStyle: github highlightLines: true countIncrementalSlides: false --- ```{r setup, include=FALSE} options(htmltools.dir.version = FALSE) ``` # Several boring ggplots ```{r, message=FALSE, warning=FALSE} library(ggplot2) library(plotly) library(knitr) p1 <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) + geom_point(aes(color=Species)) p2 <- ggplot(iris, aes(Petal.Length, Petal.Width)) + geom_point(aes(color=Species)) p3 <- ggplot(iris, aes(Sepal.Length, Petal.Length)) + geom_point(aes(color=Species)) ggplot_list <- list("p1"=p1, "p2"=p2, "p3"=p3) ``` --- # Invididual plotly works ```{r} ggplotly(p1) ``` --- # ggplot slides in loop also works ```{r, message=FALSE, warning=FALSE, results='asis'} for (p in ggplot_list) { cat("\n\n---\n") print(p) } ``` --- # plotly in loop doesn't work ```{r, message=FALSE, warning=FALSE, results='asis'} for (p in ggplot_list) { cat("\n\n---\n") ggplotly(p) } ``` # print(ggplotly(p)) in loop doesn't work either ```{r, message=FALSE, warning=FALSE, results='asis'} for (p in ggplot_list) { cat("\n\n---\n") print(ggplotly(p)) } ``` # generate chunks, then explicitly calling `knit` works! ```{r create-markdown-chunks-dynamically, include=FALSE} out = NULL for (p_name in names(ggplot_list)) { knit_expanded <- paste0("\n\n---\n## Plot: ", p_name, "\n\n```{r results='asis', echo=FALSE, warning=FALSE, message=FALSE}\n\nggplotly(ggplot_list[['", p_name, "']])\n\n```") out = c(out, knit_expanded) } ``` <!--- knit those table chunk statements --> `r paste(knit(text = out), collapse = '\n')` 文件所在文件夹的路径。 3.检查.dat文件中是否有最新凭据。
  3. API的身份验证将通过.dat文件进行。 希望这能解决你的问题。