目前,我使用Java客戶端通過Drive API生成Google Documents文件。這工作正常,並作爲我們使用服務帳戶的憑據。文檔創建後,該帳戶將與登錄用戶的電子郵件共享。到現在爲止還挺好。服務帳戶 - >腳本執行API - >調用者沒有權限
第二部分是爲這個新的空文檔生成標題和其他內容。我們發現,腳本可以被部署爲API可執行文件+通過「腳本執行API」觸發,但撞到:
Exception in thread "main" com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
"The caller does not have permission"
從其他線程&主題,我發現,它從「範圍也不會使用服務帳戶正確地關聯項目「,我嘗試過:
- >爲文檔創建綁定腳本,部署爲API,將項目編號更改爲服務帳戶也是擁有者的項目編號
- >啓用Drive API的+ Script API
- >提供了以下範圍:
DriveScopes.DRIVE_FILE, ScriptScopes.DRIVE, "https://www.googleapis.com/auth/documents"
(最後的範圍是在劇本的項目屬性一個是可見的。
我試過這個過程綁定腳本&獨立的,每一次他們與項目關聯,每次我得到同樣的錯誤。
這對於服務器到服務器起作用非常重要,所以我不能有任何用戶交互,因爲它必須生成報告&用一些標準結構填充它們+使用「easy ...」方法來驗證結構之後。