2015-05-29 250 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的決定。