2017-09-26 43 views
0

嘗試使用以下代碼在Google Apps腳本界面(script.google.com)中列出並更新Google日曆ACL )。我已經在GSuite帳戶上啓用了日曆API,並且可以在開發人員控制檯中看到正在命中的API(使用404和403)。在Apps腳本中使用Calendar.Acl.list列出Google日曆ACL導致錯誤「執行失敗:未找到」

下面的代碼中列出的calendarId是假的,但是,我正在使用的那個確實存在,並且在開發人員門戶使用嘗試此API窗體工作正常。

https://developers.google.com/google-apps/calendar/v3/reference/acl/list

我想我有足夠的授權,因爲我使用的開發人員門戶和應用程序腳本界面上的相同GSuite帳戶登錄。

對Google Apps腳本環境或OAuth授權有任何限制,禁止此代碼僅在Apps腳本中運行?

function test() 
{ 
    var calendar_acl_list; 
    calendar_acl_list = Calendar.Acl.list({calendarId: '[email protected]'}); 
Logger.log('%s', calendars_acl_list); 


} 

可能是因爲我的簡單代碼不正確,但是錯誤沒有提供足夠的信息來排除故障。這是在Apps Script界面​​中的視圖>執行腳本菜單中顯示的錯誤。

[17-09-26 14:13:31:492 PDT] Execution failed: Not Found (line 32, file "Code") [0.066 seconds total runtime] 

即使上述代碼不起作用。下面的代碼是:

function test2() 
{ 
var calendars; 
calendars = Calendar.CalendarList.list({maxResults: 100}); 
Logger.log('%s', calendars); 
} 
+0

你使用任何類型的OAuth庫這個的?我不認爲它完全自動地爲你處理這個問題。您仍然可能必須授予您的腳本範圍。請參閱「使用OAuth向服務提出請求」:https://developers.google.com/apps-script/guides/services/external – John

+0

我正在https://script.google.com/上撰寫應用程序腳本。它會在執行AFAIK之前提示進行OAuth訪問批准。 – Farhannibal

+0

這是分配給相關的谷歌電子表格的範圍: 谷歌日曆 你的域管理你的日曆 谷歌服務 查看用戶 – Farhannibal

回答

0

Calendar.Acl.list方法的正確用法是:

calendarId = '[email protected]'  
calendars_acl_list = Calendar.Acl.list(calendarId); 
Logger.log('%s', calendars_acl_list);