2016-02-15 195 views
0

我下面的Hello世界在這裏:谷歌Apps腳本和執行API:腳本的最新版本拋出錯誤

https://developers.google.com/apps-script/guides/rest/quickstart/target-script

然後我更新的新功能的腳本併發布爲新版本(V2 )與發佈 - >部署爲可執行的API

有了這個V2(使用(JAVA)我執行API客戶端[https://developers.google.com/apps-script/guides/rest/quickstart/java]失敗與認證錯誤:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized 

如何讓我的Java客戶端正確處理版本化的Google應用程序腳本?

回答

4

如果devMode爲false或從請求中省略,Execution API將使用當前發佈的腳本版本。我懷疑的是腳本中的OAuth範圍發生了變化。用戶的OAuth令牌需要包含您的項目需要的所有範圍。

打開項目的屬性並單擊範圍選項卡。確保您的Java客戶端的OAuth範圍請求與列表中的內容匹配。您可能在您的客戶端中有額外的範圍,但您至少需要包含該列表中的所有範圍。

同樣在執行API部署對話框中,有一個選項限制對自己,您的域或任何人的訪問。確保您在客戶端上使用的用戶帳戶符合您的選擇。

+1

我猜想,我已經介紹了一個電子表格函數的調用! – seinecle

+0

很棒的發現。請注意,添加範圍後,您可能需要運行腳本(通過單擊編輯器中的_Run_按鈕),這將彈出一個授權對話框。 –