2012-07-13 31 views
0

我有一個創建在谷歌Apps腳本如何使用谷歌Apps腳本contentService的一個REST服務器

function doGet(e) { 
    return ContentService 
      .createTextOutput(mcpher.getRestLibrary().serialize()) 
      .setMimeType(ContentService.MimeType.JSON); 
} 

JSON響應服務這可以在mcpher.com

發現當我在運行瀏覽器或firefox REST客戶端,它會給出正確的響應。然而,當我使用HTTPGET從內部VBA,或如在谷歌Apps腳本下面的例子

function restTest() { 
    var x = UrlFetchApp.fetch("http://script.google.com/a/macros/mcpher.com/s/AKfycbzLqpnQ2ey8CKAMmzchb2n2FU-aiae0iTKPzAOfAgEpxGwaJgk/exec"); 
    mcpher.DebugPrint(x); 
} 

我得到這樣的迴應..喜歡的請求登錄

{"0":"\n<html dir=\"ltr\" >\n<head>\n <meta name=\"robots\" content=\"noindex,nofollow\" />\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title>mcpher.com</title>\n <script type=\"text/javascript\">\n <!--\n // Keep login page from being trapped in iframes.\n ... etc... 

腳本設置爲任何人可以訪問。我是否需要進行身份驗證?即使我是從同一瀏覽器會話運行它的嗎?

回答

2

它需要設置爲任何人都可以訪問,包括匿名。你確定這是設置?

+0

是的,它被設置爲「在網絡上公開 - 互聯網上的任何人都可以查找和查看」。當我直接訪問源文檔並且我已經退出谷歌時,它需要我登錄。「互聯網上的任何人」是否確實意味着「互聯網上的任何人登錄到谷歌帳戶」可能? – bruce 2012-07-17 20:20:43

+1

這是共享列表。它控制誰可以在編輯器中查看源代碼並執行它。它不是*這個設置控制誰可以在沒有在編輯器中查看源代碼的情況下運行應用程序,這是您在這裏需要的。您正在查找的設置位於「作爲Web應用程序部署」對話框中。 – 2012-07-17 20:30:19

+0

是的。我準備將其作爲網絡應用發佈,即「任何人」。我從來沒有注意到「任何人,甚至匿名」選項。那樣做了。非常感謝! – bruce 2012-07-17 22:58:25