【问题标题】:Enable 'Open FIle" from Google Drive API - RealTime API从 Google Drive API - RealTime API 启用“打开文件”
【发布时间】:2013-06-28 18:20:57
【问题描述】:

按照 Realtime-Playground 示例,我正在尝试在我的应用程序中启用“打开文件”。授权工作正常,并在 gDrive 上创建一个空文件。尽管用于创建文件选择弹出窗口的代码不起作用。以下代码是 rt-playground 的一部分,我使用的是相同的:

var popupOpen = function () {
      var token = gapi.auth.getToken().access_token;
      var view = new google.picker.View(google.picker.ViewId.DOCS);
      view.setMimeTypes("application/vnd.google-apps.drive-sdk." + realTimeOptions.appId);
      var picker = new google.picker.PickerBuilder()
          .enableFeature(google.picker.Feature.NAV_HIDDEN)
          .setAppId(realTimeOptions.appId)
          .setOAuthToken(token)
          .addView(view)
          .addView(new google.picker.DocsUploadView())
          .setCallback(openCallback)
          .build();
      picker.setVisible(true);
    }

我还将上述功能连接到一个按钮。当我在授权之前单击按钮时,出现以下错误

TypeError: 'undefined' is not an object (evaluating 'gapi.auth.getToken')

我猜这是正确的行为。当我在授权后单击按钮时,出现以下错误:

Uncaught TypeError: Cannot read property 'View' of undefined 

错误来自这行代码:

      var view = new google.picker.View(google.picker.ViewId.DOCS);

在我的 index.html 页面上,我添加了 rt-playground 中使用的所有脚本,并且由于授权正在工作,我想问题不是由此引起的。任何反馈将不胜感激。

This 是我的代码(用于测试,但仍然欢迎反馈)。

附: 我不确定我是否正确设置了appID。在查看 API 控制台后,我没有找到任何这样命名的属性,所以我尝试使用项目 ID 和产品名称。

更新

通过添加 google.load('picker', '1');在我的 index.html 页面中它已经工作了。虽然这个代码在实时游乐场中不存在,所以我不知道为什么我需要使用它..

【问题讨论】:

    标签: google-drive-api google-drive-realtime-api


    【解决方案1】:

    请检查此documentation about integrating Google Picker with Drivegoogle.load('picker', '1');有完整的js集成源码。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多