2012-02-10 83 views
0

這裏是我的情況:我的公司很大程度上依賴於Google的電子郵件,日曆,文檔等。每個部門都維護一個帶有部門信息的Google網站,最近我被遞交給維護我部門網站的任務。該公司還在各種內聯網頁面上建立了大量資源。我想在我的Google網站上包含來自我們Intranet頁面的一些內容,並且我可以考慮兩種可能的方式來執行此操作。用其他頁面的內容更新Google網站

理想情況下,因爲它只是我想從內聯網頁抓取的文本,所以我想編寫一個Google應用腳本來從我的Intranet上的站點讀取HTML並解析HTML以提取我想要的文本在網站上有。爲了測試,我只是想在我的應用程序來顯示網頁的HTML文字是這樣的:

function doGet(e) { 
    var app = UiApp.createApplication(); 

    var myUrl = "http://www.yahoo.com"; 
    var responseHtml = UrlFetchApp.fetch(myUrl); 
    var myLbl = app.createLabel(responseHtml.getContentText()); 

    var mypanel = app.createVerticalPanel(); 
    mypanel.add(myLbl); 
    app.add(mypanel); 

    return app; 
}//END doGet 

這適用於公共場所,但是當我嘗試使用從Intranet網頁的URL,我收到一個「語法錯誤:DNS錯誤:...「。我假設谷歌正在託管該網站,但無法訪問我們的內部網,儘管您無法從我們的網絡外部訪問我們的任何Google產品,所以情況可能並非如此。我發現一個網站,說使用UseIntranet參數去嘗試,但我仍然得到同樣的錯誤:

var responseHtml = UrlFetchApp.fetch(gemUrl, {useIntranet:true}); 

我錯了在這裏做什麼?

我的第二個想法,因爲我只需要它每天更新幾次,就是編寫一個Python腳本在本地運行,它將從內部網頁獲取HTML並解析它,然後更新我的內容Google網站。我已經有本地腳本從Intranet中提取需要的內容,我只需要找到一種方法來從本地python腳本更新Google網站。 (我知道這是完成這個的後退方式,但是如果它工作,對我來說很好)

那麼有沒有辦法從本地腳本更新Google網站?

在此先感謝您的幫助!

編輯: 我應該澄清我在哪裏試圖做到這一點。我正在使用Google網站。當我管理我的網站時,有一個部分可以添加Google Apps腳本。所以我爲我的Google網站創建了一個Google Apps腳本,這就是我編寫代碼來嘗試閱讀Intranet頁面的HTML內容的地方。然後我進入並在我的網站上編輯頁面,選擇「插入」並選擇「Apps腳本小工具」。然後,我選擇我爲我的Google網站創建的Apps腳本小工具並將其添加到頁面。

+0

我很困惑你的問題。您是否在使用[Google App Engine](http://code.google.com/appengine/),[Google協作平臺](https://sites.google.com)或[Google Apps Script](http:// code.google.com/googleapps/appsscript/)?如果您嘗試訪問防火牆內的數據,您是否在使用[Google安全數據連接器](http://code.google.com/securedataconnector/)? – 2012-02-11 07:01:58

+0

我正在使用Google網站。當我管理我的網站時,有一個部分可以添加Google Apps腳本。所以我爲我的Google網站創建了一個Google Apps腳本。我還沒有嘗試過使用Google安全數據連接器,我會給出一個看看。 – user441603 2012-02-13 14:13:19

+0

刪除了谷歌應用程序引擎標記。 – proppy 2012-02-13 17:15:23

回答

1

兩個選項:

  1. 在谷歌Apps,您寫的劇本是由谷歌的服務器上運行。您可以使用Secure Data Connector讓您的腳本訪問您的「防火牆後」基於Intranet的數據(這是「useIntranet」參數的來源)。

  2. 正如你所說,你也可以使用本地腳本。該腳本會讀取您的Intranet數據(如您所說的那樣),然後將其寫入Google協作平臺頁面。您將使用Google協作平臺數據API,併爲此提供python library

+0

你對兩者都是絕對正確的。我最終使用SDC創建了一個規則,允許我的Google站點訪問Intranet頁面。 Python API也會起作用,但我需要對我公司的域擁有完全的管理權限,但我不知道。 – user441603 2012-03-12 13:43:49

相關問題