【问题标题】:Google Save To Drive API v3 stopped workingGoogle Save To Drive API v3 停止工作
【发布时间】:2021-01-29 16:43:54
【问题描述】:

希望有人能帮忙。

我们一直在使用 Google 的 Save to Drive 按钮 API,版本 3 来将我们的系统生成的文档保存到用户的 Drive。这在上周停止工作。

在 JS 控制台中抛出的错误是:

Uncaught ReferenceError: _createSaveToDriveWidgetApplication is not defined
at https://drive.google.com/savetodrivebutton?usegapi=1&src=(redacted URL)&filename=My%20Statement.pdf&sitename=My%20Company%20Name&origin=https%3A%2F%2F(redacted URL)&gsrc=3p&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en_GB.sedaY3Dv4HE.O%2Fam%3DwQE%2Fd%3D1%2Fct%3Dzgms%2Frs%3DAGLTcCO2t4glYwUJ-eH43TAA_offcn6l6Q%2Fm%3D__features__

所以我使用 google 的 API 文档上的演示源 found here 从头开始​​设置它。

我的测试源代码如下:

    <!DOCTYPE html>
      <html>
        <head>
          <title>Save to Drive Demo: Explicit Render</title>
          <link rel="canonical" href="https://(redacted)">
          
           <script src="https://apis.google.com/js/platform.js"></script>
          <script>
          
            window.___gcfg = {
              parsetags: 'explicit'
            };
          </script>
         
    
        </head>
        <body>
          <a href="javascript:void(0)" id="render-link">Render the Save to Drive button</a>
          <div id="savetodrive-div"></div>
          <script>
            function renderSaveToDrive() {
              gapi.savetodrive.render('savetodrive-div', {
                src: 'https://(redacted)/go.php',
                filename: 'My Statement.pdf',
                sitename: 'My Company Name'
              });
            }
            document.getElementById('render-link').addEventListener('click', renderSaveToDrive);
          </script>
        </body>
      </html>

编辑后的文本是 URL,它们的协议、主机、域和端口完全相同。此外,正在检索的内容以以下响应标头开始提供服务:

Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Range
Access-Control-Expose-Headers: Cache-Control, Content-Encoding, Content-Range

即使我不需要 Origin 标头,因为这里没有使用或不需要 CORS。

我在 MAC 和 Windows 上尝试过 Chrome、Safari、Firefox,结果始终相同 - 调用 gapi.savetodrive.render 时,它会因错误而停止:

Uncaught ReferenceError: _createSaveToDriveWidgetApplication is not defined

我真的不知道还能做什么,因此我的查询在这里。我已经用谷歌搜索了该错误消息,但确实找不到任何关于它的信息。

【问题讨论】:

  • 任何人都可以确认他们当前正在使用 API v3 和 Save To Drive 按钮没有任何问题吗?
  • 一些进一步的挖掘表明这被记录为这里的一个问题:issuetracker.google.com/… 奇怪的是那些没有被谷歌索引(可能是因为它们是谷歌问题)我等一下看看会发生什么。
  • 您好,您是否考虑发布一个引用问题跟踪器链接的答案,以提供更多可见性?
  • 我的意思是回答。几乎没有阅读评论。

标签: javascript google-api google-drive-api


【解决方案1】:

这似乎是一个错误。

Save to Drive 按钮在添加到 HTML 文档时不显示。而是在控制台中显示以下错误:

Uncaught ReferenceError: _createSaveToDriveWidgetApplication is not defined

过去几天在问题跟踪器中至少报告了两次:

这些问题中的第一个已经引起了一些关注:目前有 3 人为其加注星标,并且已被 Google 内部报告(请参阅 comment #4):

感谢您提交此报告,我能够重现该行为,因此已在内部转发。

对于受此影响的任何人,我建议在此问题上加注星标,以提高其知名度。

【讨论】:

  • 谢谢。我不确定如何处理“解决方案”是等待 Goggle 修复它的事实。我会将您的条目标记为答案。
  • 信息:谷歌在几天内修复了这个错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多