Google drive api “保存到驱动器”按钮不存在';行不通

Google drive api “保存到驱动器”按钮不存在';行不通,google-drive-api,Google Drive Api,我在NodeJS中编写了一个简单的文件服务器,用Save to Drive按钮为HTML页面提供服务。HTML页面位于my_地址:1337,要保存的文件位于my_地址:1338。单击Save To Drive(保存到驱动器)按钮后,长时间显示“开始下载”,然后显示下载失败。XHR错误 我认为这是因为文件是从不同的端口提供的,所以我决定用appengine应用程序也这样做。页面送达和文件送达,我遇到了同样的问题 然后我决定做一个本地JavaWeb应用程序:同样的问题。然后我尝试将内容配置更改为附件

我在NodeJS中编写了一个简单的文件服务器,用Save to Drive按钮为HTML页面提供服务。HTML页面位于
my_地址:1337
,要保存的文件位于
my_地址:1338
。单击Save To Drive(保存到驱动器)按钮后,长时间显示“开始下载”,然后显示
下载失败。XHR错误

我认为这是因为文件是从不同的端口提供的,所以我决定用appengine应用程序也这样做。页面送达和文件送达,我遇到了同样的问题

然后我决定做一个本地JavaWeb应用程序:同样的问题。然后我尝试将内容配置更改为附件(强制下载),但也没有成功

我很沮丧,开始在谷歌上搜索,发现“保存到驱动器”按钮实际上不起作用。 所以我回到了,发现他们的示例按钮也不起作用这是个噩梦吗?

来源:index.html

<html>
  <head>
    <title>Test: Save To Drive</title>
    <!--  -->
    <link rel="canonical" href="http://sayodrive.appspot.com">
    <script src="https://apis.google.com/js/plusone.js"></script>
  </head>
  <body>
    <p>This must be the worst HTML you have ever seen :)</p>
    <div class="g-savetodrive"
       data-src="//http://sayodrive.appspot.com/drivefile.jsp"
       data-filename="Test Drive"
       data-sitename="Sayo Saves">
    </div>
  </body>
</html>

测试:保存到驱动器
这一定是你见过的最糟糕的HTML:)

来源:drivefile.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>DriveFile</title>
  </head>
  <body>
    <%
      java.io.Writer w = response.getWriter();
      response.setContentType("text/plain");
      w.write("If you're reading this in Drive, congrats!");
      w.flush();
      w.close();
    %>
  </body>
</html>

驱动文件

原始示例不工作,因为服务器未公开
缓存控件
头。这个问题现在已经解决了

Access-Control-Expose-Headers: Cache-Control, Content-Encoding, Content-Range

更多信息请参见。

感谢您的报告,谷歌正在尽可能快地对此进行调查。这里的演示有效,谷歌正在单独调查文档按钮。您能检查数据src吗?您的示例有效。您的示例与官方示例之间的唯一区别是数据src格式(官方示例中的前导
/
)。