作為較長腳本的一部分,我使用 DriveApp.getFiles() 函式列出我的谷歌驅動器上的檔案,如下所示:
function logFiles(){
// Log the name of every file in the user's Drive.
var files = DriveApp.getFiles();
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
}
}
使用除錯功能,執行在 while 陳述句處停止,因為檔案未定義。日志檔案顯示:
錯誤例外:很抱歉,發生服務器錯誤。請稍等,然后重試。在日志檔案(重復:190:14)
毋庸置疑,該錯誤并沒有神奇地自行解決,但該功能就在昨天才起作用。
到目前為止采取的步驟是創建一個專案并使用專案 ID 部署代碼。我已將自己和另一個指定為專案“所有者”,我們都被列為測驗帳戶來運行腳本。
我只使用免費的個人 Google 帳戶,因為此代碼附加到單個 Google 表格中。同一個腳本中的其他功能正在運行,所以看起來權限沒問題;否則我會期望出現權限錯誤。
上面的示例代碼直接取自 google 參考檔案,但它仍然不起作用,這似乎消除了我代碼中的任何手指問題。
將不勝感激可能導致這種情況的任何想法。
uj5u.com熱心網友回復:
試試這樣:
這種方式將花費更少的時間,并且您將在活動表的第 1 列中獲得結果
function logFiles() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getActiveSheet();
var files = DriveApp.getFiles();
let fA = [];
while (files.hasNext()) {
fA.push([files.next()]);
}
sh.getRange(1,1,fA.length,1).setValues(fA);
}
uj5u.com熱心網友回復:
在對 Project 界面進行了大量研究之后,我通過為我的專案啟用了來自 Google Cloud Platform API Dashboard 的 Google Drive API 和 Google Sheets API 來實作這一目標。
我不知道為什么會這樣,但確實如此。該腳本直接系結到位于正在搜索的同一驅動器中的谷歌表,因此所有帳戶都應該在沒有此步驟的情況下作業。但是對于它的價值 - 這就是我的解決方案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/384959.html
標籤:谷歌应用程序脚本 谷歌表格 google-sheets-api
上一篇:如何快速保留字串上的屬性組合
