文件打开对话框 - 有人可以愚蠢吗?

时间:2016-04-08 12:01:58

标签: google-apps-script google-sheets google-spreadsheet-api google-picker

我查看了各种视频和网站,但无论我认为我跟着我应该做的事情有多紧密,我都无法实现这一目标。

我正在尝试创建2个不同的文件打开对话框 1)允许我向下浏览谷歌驱动器上的文件夹并选择一个文件夹(或在正在查看的文件夹中创建一个新文件夹) 2)可以让我选择要上传到谷歌驱动器文件夹的文件并输入描述性文本 - 图像名称和描述性文本将被拉回到电子表格。

选项2似乎更容易,我相信它是google.picker我应该使用。由于我在电子表格中并且不推荐使用UIapp,我正在查看HTML服务。我相信,对于电子表格,我无法使用<button><input><script>标记。此外,IFRAME首选阅读developer site,因为所有脚本将在月底默认为此。

我可以使用

打开自定义对话框
function HTMLtest() { 
// Display a modeless dialog box with custom HtmlService content.
 var htmlOutput = HtmlService
     .createHtmlOutput('<p>A change of speed, a change of style...</p>')
     .setSandboxMode(HtmlService.SandboxMode.IFRAME)
     .setWidth(250)
     .setHeight(300);
 SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'My add-on');
}
//This displays a dialog box okay

但我无法从this example获取代码。

我认为我的凭据设置正确。我在上面的链接中丢失了第7步,因为我看不到选项#39;单击“创建新密钥”,然后单击“浏览器密钥”。或“公共API访问”部分&#39;。我选择了创建凭据和API密钥,从而调出了浏览器密钥选项。

同样在控制台中,我从已启用的API中选择了选择器,然后转到API资源管理器,使用OAuth 2.0设置&#39;授权请求:&#39;启用(用于查看文件和文件夹)。

当我运行示例代码时,会出现一个对话框,其中打开了一个&#39; select&#39;按钮。点击按钮后我得到:出错了! API开发人员密钥无效。我甚至尝试刷新选择器API密钥并在HTML中使用它但得到相同的消息。

我不知道是否需要发布内容,如果我错误地设置了选择器API授权或者我还应该查看其他内容。

帮助?

1 个答案:

答案 0 :(得分:0)

尝试执行example code并相应地管理它。对于第7步,您所做的是正确的(创建凭证&gt; API密钥&gt;浏览器密钥)。让我困惑的是你提到的:

&#34; 同样在控制台中,我从已启用的API中选择了选择器,然后转到API资源管理器,使用OAuth 2.0设置&#39;授权请求:&#39;启用(用于查看文件和文件夹)。&#34;

我不知道你是怎么做到的。但我所做的只是按照相应的说明(步骤8到9),刷新电子表格并单击自定义菜单(Picker&gt; Start)。首先它确实提到它需要授权才能继续,然后我只是点击了好,允许权限和所有。然后出现打开对话框,我单击选择文件按钮,并以某种方式设法收到相同的错误:

发生错误! API开发人员密钥无效。

然后它打了我。我还没有真正使用过生成的 API密钥。因此,如果您在步骤9中注意到:

  

控制台将生成API密钥。 将其复制下面使用,然后返回脚本编辑器并单击“关闭”以关闭对话框。

因此,我搜索了示例代码,找到了将其复制到Picker.html文件的位置。

// IMPORTANT: Replace the value for DEVELOPER_KEY with the API key obtained
    // from the Google Developers Console.
    var DEVELOPER_KEY = 'ABC123 ... ';

只需替换,保存和刷新电子表格即可。然后再次运行它(Picker&gt; Start),单击选择文件按钮。这一切都很好。 :D希望这会有所帮助。祝你好运。