2015-05-29 251 views
5

几天以来,使用google-sites-liberation的谷歌网站备份停止工作。如何解决谷歌网站解放登录谷歌网站备份谷歌应用程序?

呼叫

java -cp google-sites-liberation.jar com.google.sites.liberation.export.Main -d "$DOMAIN" -w wiki -u "$USER" -p "$PASSWORD" -f "$DIR/" 2>&1 

总是现在工作之前失败:

May 29, 2015 1:48:23 PM com.google.sites.liberation.export.Main doMain 
SEVERE: Invalid User Credentials! 
Exception in thread "main" java.lang.RuntimeException: com.google.gdata.util.AuthenticationException: Error authenticating (check service name) 
    at com.google.sites.liberation.export.Main.doMain(Main.java:89) 
    at com.google.sites.liberation.export.Main.main(Main.java:97) 
Caused by: com.google.gdata.util.AuthenticationException: Error authenticating (check service name) 
    at com.google.gdata.client.GoogleAuthTokenFactory.getAuthException(GoogleAuthTokenFactory.java:614) 
    at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(GoogleAuthTokenFactory.java:490) 
    at com.google.gdata.client.GoogleAuthTokenFactory.setUserCredentials(GoogleAuthTokenFactory.java:336) 
    at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:362) 
    at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:317) 
    at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:301) 
    at com.google.sites.liberation.export.Main.doMain(Main.java:79) 
    ... 1 more 

我查了凭据,该帐户的凭据是正确的。但是它是主要帐户的密码,现在可能在Google上有更严格的安全设置。

我试图找到一个使用谷歌搜索的解决方案,但只是偶然发现了一些旧的解决方案,而这些解决方案现在不再可用。此外,我没有找到一种方法来将用户/密码应用程序登录添加到用于备份wiki的帐户。

有没有人指点如何解决这个问题,并使谷歌网站的备份再次可用?

所有答案都不错,其提供了一个解决方案,备份站点:

  • 使用一些其他的全^ 2自动化的工具,它不会复制整个站点的目录或归档格式的工作,例如

  • 更改google-sites-liberation,使用另一种身份验证方法,然后在现在已有几年的文档中给出。我没有设法找到它。

  • 请注意,用于备份的帐户不能具有完整的谷歌应用程序的域管理员访问,因为这是至关重要的。

请不要外部供应商链接,除非它来自Google。网站的数据不得与第三方共享,只有Google和我共享。

注意,过程必须充分^ 2自动化的,但我想有它甚至完全^ 4自动化:

  • 充分^ 1,因为它必须定期运行。 (有些人将“全自动”定义为手动启动某些东西以使其自动运行,而“自动化”意味着要有一个脚本,它仍然可能会要求一些东西额外的输入)
  • 完全^ 3,因为它不应该涉及用户干预以在第一次运行时启动进程(例如发布类似于谷歌认证器令牌的过程)(即使它稍后完全^ 2自动运行)
  • 完全^ 4,因为我希望能够以自动化,非交互的方式为几千个站点设置流程,当准备设置的流程在脱机主机上运行时(因此可以将设置上传到完全^ 3自动化系统,无需任何其他手动设置步骤例如使用IPoAC。 YKWIM)。

没有太大的问题,如果它只是完全^ 2自动化,因为我只想备份我的小单一网站(只有几千页的附件)。然而,我很好奇如何完全自动化^ 4,因为自动化一切(包括但不限于宇宙)是我几十年前进入计算机业务的动机。

谢谢。

链接:

更新2015年6月23日:

我的脚本运行的每一天,他们告诉我们,如果出现错误,但如果他们工作打算。所以我监督它突然工作了几天。但今天它又失败了:

2015-05-27 to 2015-06-11 (15 days) authentication failure 
2015-06-12 to 2015-06-22 (11 days) it works again 
2015-06-23    (today) authentication failure again 

我不知道为什么它突然工作了11天。我可能会在下一个ok-fail失败转换中再次更新这个问题。 ;)

+0

弃用? https://github.com/google/gdata-java-client – ptman

+0

@ptman是的,我也这么认为。感谢您的链接,SitesDemo可能会有所帮助。 – Tino

回答

1

我开发Python中的控制台脚本出口谷歌网站:
https://github.com/famzah/google-sites-backup

这适用于自动化的脚本。它需要更多的测试,但适合我的网站。

由于OAuth2用户的性质,第一次你曾经启动脚本,则需要通过访问网页手动获取的令牌。没有其他办法。完成此操作后,Python脚本会缓存身份验证令牌,备份将以完全非交互模式运行。当这个缓存的令牌到期时,这是Google的决定。