通过执行API创建sheet

问题描述 投票:0回答:1

我正在尝试通过脚本创建一个Google Sheets文档,并且我正在使用Google在此处提供的执行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;
}

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

android google-sheets google-apps-script google-apps-script-api
1个回答
0
投票

基于此指南,在使用API之前,您需要执行以下操作来满足上述要求:

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

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.