Google drive save to not working (Google drive api)

五迷三道 提交于 2019-12-08 12:48:19

问题


I am trying to make a website that will save a cat into the account of the user and have tried this:

<script src="https://apis.google.com/js/platform.js"></script>
<div class="g-savetodrive"
   data-src="http://example.com/pug-snores.mp3"
   data-filename="pug-snores.mp3"
   data-sitename="A Snoring Pug">
</div>

The save icon shows up but it does not save to the drive.

Why?

Thanks


回答1:


try the explicit render: code from the google javascript api

<!DOCTYPE html>
<html>
  <head>
    <title>Save to Drive Demo: Explicit Render</title>
    <link rel="canonical" href="http://www.example.com">
    <script src="https://apis.google.com/js/platform.js">
      {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: '//example.com/path/to/myfile.pdf',
          filename: 'My Statement.pdf',
          sitename: 'My Company Name'
        });
      }
      document.getElementById('render-link').addEventListener('click', renderSaveToDrive);
    </script>
  </body>
</html>

The data-src URL can be served from another domain but the responses from the HTTP server needs to support HTTP OPTION requests and include the following special HTTP headers:

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



回答2:


If you want upload a local file with input file form and/or without php lib would be ...

<!DOCTYPE html>
<html>
  <head>
    <title>Save to Drive Demo: Explicit Render</title>
    <script src="https://apis.google.com/js/platform.js" async defer></script>
  </head>
  <body>
    <form id="GDrive" name="GDrive" enctype="multipart/form-data" method = "post">
      <input type="file" id="file" name="file" onChange="renderSaveToDrive('savetodrive-div', this.files[0].name,'GDrive');"><div id="savetodrive-div"></div>
    </form>
    <script>
        function renderSaveToDrive(namediv, namefile, idfrm) {
            window.___gcfg = {
                lang: 'es-ES',
                parsetags: 'explicit'
            };
            var xhr = new XMLHttpRequest();
            var fd = new FormData(document.forms.namedItem(idfrm));
            fd.append("file_new_name", namefile);
            xhr.open("POST", location.href);
            xhr.send(fd);       
            gapi.savetodrive.render(namediv, {
              src: namefile,
              filename: namefile,
              sitename: 'GDrive Demo: Explicit Render'
            });
        }
    </script>
  </body>
</html>


来源:https://stackoverflow.com/questions/24515545/google-drive-save-to-not-working-google-drive-api

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!