Javascript 使用Google Drive API将CSV文件上载到用户';s驱动器没有后端

Javascript 使用Google Drive API将CSV文件上载到用户';s驱动器没有后端,javascript,google-chrome-extension,google-drive-api,google-sheets-api,Javascript,Google Chrome Extension,Google Drive Api,Google Sheets Api,我正在开发一个Chrome扩展,在其中我生成一个CSV文件,当点击一个按钮时,我想将这个CSV文件存储在用户的驱动器中 我首先尝试在HTML中添加“保存到驱动器”按钮/小部件(),但是我发现这不起作用,因为我的CSV文件不是本地存储的,而是从文本内容生成的,使用:blob=new blob([CSV],{type:“text/CSV”});href=window.URL.createObjectURL(blob),其中csv是存储csv格式数据的字符串。因此,href变量不是一个URL,而是一个

我正在开发一个Chrome扩展,在其中我生成一个CSV文件,当点击一个按钮时,我想将这个CSV文件存储在用户的驱动器中

我首先尝试在HTML中添加“保存到驱动器”按钮/小部件(),但是我发现这不起作用,因为我的CSV文件不是本地存储的,而是从文本内容生成的,使用:
blob=new blob([CSV],{type:“text/CSV”});href=window.URL.createObjectURL(blob)
,其中
csv
是存储csv格式数据的字符串。因此,
href
变量不是一个URL,而是一个blob URI,在使用“保存到驱动器”按钮时不支持作为
data src
属性(来自文档:“数据URI和
文件://
URL不受支持”)

第二种方法是使用GoogleDriveAPI,但是我还没有找到任何关于如何在没有后端的纯前端应用程序上使用该API的好例子。文档中的大多数示例都使用Python或node。docs()中唯一一个基于浏览器的示例需要运行localhost服务器,这在Chrome扩展中是不可能的。在未运行localhost服务器的情况下尝试文档中的此示例,会导致以下错误:
未能在“DOMWindow”上执行“postMessage”:提供的目标源('file://')与收件人窗口的源('null')不匹配。

我知道驱动器API的上载端点支持CORS,所以我不知道为什么需要本地主机服务器来请求驱动器API或使用
gapi.client
from
https://apis.google.com/js/api.js
。总之,我不认为我要找的东西太复杂;在不使用后端服务器的情况下将CSV文件保存到某人的Google Drive。这似乎是可能的,但我没有遇到任何关于如何在纯前端应用程序上实现这一点的示例或文档

function saveToDrive() { // Function that is called when the button is clicked.
    csv = document.getElementById("userInput").value // User inputs CSV formatted data, this data is captured and stored in a string
    blob = new Blob([csv], {type: "text/csv"}); 
    href = window.URL.createObjectURL(blob);
    // Code to upload this file to the logged in user's Google Drive (what I need)
}

您可以将Google Drive的RESTful API与XMLHttpRequest或Fetch一起使用。不过,您确实需要用户的Oauth2令牌。我可以使用
chrome.identity
API相当轻松地获取令牌,因为这是一个chrome扩展。但是你能给我指一本指南、一个库或一本我可以用来请求保存CSV文件的指南吗?我只是想做一个类似的变体。您对此有何看法?您可以将Google Drive的RESTful API与XMLHttpRequest或Fetch结合使用。不过,您确实需要用户的Oauth2令牌。我可以使用
chrome.identity
API相当轻松地获取令牌,因为这是一个chrome扩展。但是你能给我指一本指南、一个库或一本我可以用来请求保存CSV文件的指南吗?我只是想做一个类似的变体。你觉得这个怎么样?