![](/img/trans.png)
[英]Looking for a way to add borders to a paragraph in a google doc using a Google Apps Script or perhaps the DOCS API?
[英]ScriptError using Google Apps Script Execution API
遵循這些指南https://developers.google.com/apps-script/guides/rest/quickstart/target-script和https://developers.google.com/apps-script/guides/rest/quickstart/nodejs ,我我正在嘗試使用節點中的執行 API 來返回 Google 電子表格中的一些數據。
我已將腳本 ID 設置為 Apps 腳本文件的項目密鑰。 我還驗證了在腳本編輯器中運行該函數是否成功。
但是,當使用 node 在本地運行腳本時,我收到此錯誤:
The API returned an error: Error: ScriptError
我還確保腳本與我用來通過 Google API 進行身份驗證的項目相關聯。
有沒有人對我可以做些什么來調試/解決這個問題有什么建議? 該錯誤是如此普遍,以至於我不知道該往哪里看。
更新:我在此 JSBin 中包含了一份代碼副本( year
函數是入口點) https://jsbin.com/zanefitasi/edit?js
更新 2:錯誤似乎是由包含這一行var spreadsheet = SpreadsheetApp.open(DriveApp.getFileById(docID));
似乎我沒有請求正確的范圍。 nodejs 示例包括'https://www.googleapis.com/auth/drive'
,但我還需要在SCOPES
數組中包括'https://www.googleapis.com/auth/spreadsheets'
。 似乎錯誤消息ScriptError
在這里提供的信息不是很豐富。
為了找到您需要的范圍,請轉到腳本編輯器 > 文件 > 項目屬性 > 范圍。 請記住刪除舊憑據~/.credentials/old-credential.json
以便腳本請求新~/.credentials/old-credential.json
。
編輯:隨着信息的更新,我仔細觀察了一下,發現您返回的是非基本類型。 具體來說,您正在返回一個工作表對象。
Apps Script 中的基本類型類似於 JavaScript 中的基本類型:字符串、數組、對象、數字和布爾值。 執行 API 只能獲取和返回與這些基本類型相對應的值——API 無法傳遞更復雜的 Apps 腳本對象(如文檔或工作表)。
https://developers.google.com/apps-script/guides/rest/api
在您的帳戶“類”中
this.report = spreadsheet.getSheetByName(data.reportSheet);
舊答案:
在這種情況下,“data.business_exp”將為空。 您需要從某處加載數據。 每次調用腳本時都會創建一個新的腳本實例。 在執行鏈的末尾,它將被銷毀。 任何存儲為全局對象的數據都將丟失。 您需要將該數據保存到永久位置,例如腳本/用戶屬性,並在每次腳本執行時重新加載。
https://developers.google.com/apps-script/reference/properties/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.