【问题标题】:Creating sheet via execution API通过执行 API 创建工作表
【发布时间】:2020-07-13 16:10:56
【问题描述】:

我正在尝试通过脚本创建一个谷歌表格文档,并且我正在使用谷歌在此处提供的执行 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-apps-script spreadsheet google-apps-script-api


    【解决方案1】:

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      • 2011-09-02
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多