2017-06-12 41 views
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; 
} 

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

回答

0

从这个guidelines基础,使用API​​之前,你需要做以下操作来满足上述要求:

  1. 创建Google Apps脚本项目来调用,您要使用的功能。该API也可用于调用为其他项目创建的现有脚本。在Apps脚本编辑器中打开项目。
  2. 通过选择发布>部署为API可执行文件来部署要执行的脚本项目。选择一个版本(或创建一个新版本)以及谁有权访问,然后点击部署。打开的新对话框显示您的脚本ID,列在“当前API ID”下。记下这个ID - 您需要将其输入到应用程序代码中,以便API知道要调用哪个脚本。如果以后需要再次查找,请在代码编辑器中选择发布>部署为API可执行文件以查看它。
  3. 选择云平台项目并确保调用应用程序和目标脚本共享它。如果您使用脚本的默认Cloud Platform项目,则调用应用程序应该使用该项目来设置其OAuth凭据。这要求您可以访问默认的Cloud Platform项目,如果使用the script resides in Team Drive,则可能不是这种情况。如果您正在使用新的或现有的Cloud Platform项目,则需要登录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和脚本中的范围构建(在编辑器中,在文件>项目属性>范围下)。这也需要提示用户授权脚本。 Google客户端库虽然不是绝对必要,但可以极大地帮助处理应用程序的OAuth。

希望这会有所帮助。