0

我正在尝试通过脚本创建一个谷歌表格文档,并且我正在使用谷歌在此处提供的执行 API 示例:

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

我所做的唯一更改是脚本上的一行:

function getFoldersUnderRoot() {

    var sheet = SpreadsheetApp.create("MySheet"); //This line.
    var root = DriveApp.getRootFolder();

    var folders = root.getFolders();

    var folderSet = {};

    while (folders.hasNext()) {

        var folder = folders.next();

        folderSet[folder.getId()] = folder.getName();
    }

    return folderSet;
}

但是,即使我可以正确运行代码,它也不会创建工作表。也许一些授权问题?我找不到它...非常感谢您的帮助...我的项目真的需要这个。

4

1 回答 1

0

根据本指南,在使用 API 之前,您需要执行以下操作以满足上述要求:

  1. 创建一个要调用的 Apps 脚本项目,其中包含您要使用的功能。该 API 还可用于调用为其他项目创建的现有脚本。在 Apps 脚本编辑器中打开项目。
  2. 通过选择Publish > Deploy as API executable来部署脚本项目以执行。选择一个版本(或创建一个新版本)以及有权访问的人,然后单击Deploy。打开的新对话框显示您的脚本 ID,列在“当前 API ID”下。记下此 ID — 您需要将其输入到应用程序代码中,以便 API 知道要调用哪个脚本。如果您稍后需要再次找到它,请在代码编辑器中选择发布 > 部署为 API 可执行文件以查看它。
  3. 选择一个 Cloud Platform 项目并确保调用应用程序和目标脚本共享它。如果您使用脚本的默认 Cloud Platform 项目,调用应用程序应使用该项目来设置其 OAuth 凭据。这要求您有权访问默认的 Cloud Platform 项目,如果脚本驻留在 Team Drive 中,则情况可能并非如此。如果您正在使用新的或现有的 Cloud Platform 项目,则需要切换 Apps Script 项目以使用它(如果您尚未这样做)。
  4. 在 Cloud Platform 项目中启用Google Apps Script Execution API 。您可以在Execution API Java Quickstart中找到执行此操作的说明。
  5. 为 Cloud Platform 项目中的应用程序创建有效的客户端 ID 和客户端密码。这在Execution API Java Quickstart中有介绍。
  6. 在应用程序代码中,为 API 调用生成 OAuth 访问令牌。这不是 API 本身使用的令牌,而是脚本需要的令牌。必须使用客户端 ID 和脚本中的范围(在编辑器中的File > Project properties > Scopes下)构建令牌。这也需要提示用户授权脚本。Google 客户端库虽然不是绝对必要的,但可以极大地帮助处理应用程序的 OAuth。

希望这可以帮助。

于 2017-06-14T16:24:18.090 回答