在Google协作平台中使用Google Picker显示空白

时间:2016-05-26 18:19:37

标签: google-apps-script google-drive-api google-sites google-picker

致所有Google Apps专家 - 请帮我解决此问题。我很困难,而且我还没有找到任何关于为什么这个问题存在的解释。我已经包含了一个实例来证明这个问题。

问题可能是在这个位置查看... https://sites.google.com/a/growthhq.net/faulty-picker/

使用Apps Script小工具在Google协作平台中提供的Google Apps脚本最近已停止运行。疯狂的是,该应用程序使用' dev'和' exec'应用程序的网址直接,但在将应用程序嵌入网站时(使用' exec' url和Apps脚本小工具),并单击该按钮,表单将显示为空白。

我知道UiApp已被弃用(遗憾的是,这有一些很好的属性)但我不想在此阶段更改其余的代码。

如何让Picker在网站中正确显示?推荐人没有充分说明吗?我完全失去了。

激活的推荐人是:
* .google.com
* .googleusercontent.com

为了测试目的,我已经提取(并简化了)代码部分。这个工作测试代码如下:

 // refer to https://developers.google.com/apps-script/guides/dialogs#file-open_dialogs for setting up OAuth

    function doGet()
    {
      var app = UiApp.createApplication();
      var buttonHandler = app.createServerHandler('utilityPicker');
      var button = app.createButton('Open Picker', buttonHandler)
      app.add(button);
      return app;
      // This is a dummy to activate
      DriveApp.getRootFolder();
    }

    function utilityPicker(e){

      var app = UiApp.getActiveApplication();
      var authToken = ScriptApp.getOAuthToken();
      Logger.log(authToken);

      var docPicker = app
      .createDocsListDialog()
      .setOAuthToken(authToken)
      .setDialogTitle('Select a Google Spreadsheet or Form to be used by this Workspace')
      .setMultiSelectEnabled(true)
      .addView(UiApp.FileType.FOLDERS)
      .showDocsPicker()
      ;

      Logger.log(docPicker);

      docPicker.addView(UiApp.FileType.SPREADSHEETS);

      var handler = app.createServerHandler('pickerPrimarySpreadsheet');

      docPicker.addSelectionHandler(handler);
      return app;
    }

    function pickerPrimarySpreadsheet(e)
    {
      Logger.log(e.parameter);
    }

请帮忙。

1 个答案:

答案 0 :(得分:0)

遇到同样的问题,

找到了一些谷歌小组论坛,有些人不得不这样做 添加

  .setOrigin('https://script.google.com')

到pickerbuilder

仍然无法解决我的问题,如果你有一个在谷歌网站上使用的工作解决方案,请分享