我想将文本从我的textarea html元素保存到google drive.I已经搜索了google drive api等。我得到的是这段代码:
<div class="g-savetodrive"
data-src="//example.com/path/to/myfile.pdf"
data-filename="My Statement.pdf"
data-sitename="My Company Name">
</div>
</script>
<script type="text/javascript">
window.___gcfg = {
lang: 'en-US'};
</script>
<script src = 'https://apis.google.com/js/platform.js' async defer>
</script>
但正如您在上面的代码中所看到的,它会搜索我的物理目录并正在查找文件。
如何将源代码更改为类似于Document.getElementById(“mytextarea”)。value或类似的东西。
祝你好运
答案 0 :(得分:0)
我认为您应该使用之前Files.create的Files.insert来自Drive v2。
HTTP请求
此方法通过两个单独的URI提供媒体上传功能。有关详细信息,请参阅有关媒体上载的文档。
上传URI,用于媒体上传请求:
POST https://www.googleapis.com/upload/drive/v3/files
元数据URI,仅用于元数据请求:
POST https://www.googleapis.com/drive/v3/files
这是使用Files.insert从文档中用JS编写的片段。
function insertFile(fileData, callback) {
const boundary = '-------314159265358979323846';
const delimiter = "\r\n--" + boundary + "\r\n";
const close_delim = "\r\n--" + boundary + "--";
var reader = new FileReader();
reader.readAsBinaryString(fileData);
reader.onload = function(e) {
var contentType = fileData.type || 'application/octet-stream';
var metadata = {
'title': fileData.fileName,
'mimeType': contentType
};
var base64Data = btoa(reader.result);
var multipartRequestBody =
delimiter +
'Content-Type: application/json\r\n\r\n' +
JSON.stringify(metadata) +
delimiter +
'Content-Type: ' + contentType + '\r\n' +
'Content-Transfer-Encoding: base64\r\n' +
'\r\n' +
base64Data +
close_delim;
var request = gapi.client.request({
'path': '/upload/drive/v2/files',
'method': 'POST',
'params': {'uploadType': 'multipart'},
'headers': {
'Content-Type': 'multipart/mixed; boundary="' + boundary + '"'
},
'body': multipartRequestBody});
if (!callback) {
callback = function(file) {
console.log(file)
};
}
request.execute(callback);
}
}