当尝试将文件上传到Google drive api时,出现404提示,怀疑是数据格式化问题
getting a 404 when trying to upload a file to the google drive api, suspecting a data formatting issue
我试图使用JS将一些动态生成的数据(json)保存到我的google驱动器上的(新)文件,但我一直在POST上得到这些无益的错误。
起初我以为我是张贴到错误的地址,但在更改数据内容后,错误从404更改为400,所以现在我怀疑错误是格式化相关(因为我不理解这个多部分的东西这么好)。
代码如下:
function gDriveSaveProject(data, gDriveFolderID, currentProj, callback )
{
const boundary = '-------314159265358979323846';
const delimiter = "'r'n--" + boundary + "'r'n";
const close_delim = "'r'n--" + boundary + "--";
var metadata = {
'title': currentProj + ".lo",
'mimeType': 'application/json',
'parents' : [{'id' : gDriveFolderID}]
};
var multipartRequestBody =
delimiter +
'Content-Type: application/json'r'n'r'n' +
JSON.stringify(metadata) +
delimiter +
'Content-Type: application/json'r'n' +
'Content-Transfer-Encoding: base64'r'n' +
''r'n' +
btoa(JSON.stringify(data)) +
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': "" // using this gives me 400 instead of 404
'body': multipartRequestBody
});
request.execute(callback);
}
代码基于Google drive SDK示例,但使用动态创建的数据而不是上传的文件和目标目录而不是根目录。
谢谢
明白了!
原来,我为父文件夹提供了一个错误的ID,这就是为什么我得到了404,但由于它没有作为一个适当的错误对象返回,我认为404是因为/upload/v2/drive/文件没有找到。
也许谷歌可以让它更清楚一点,像我这样的白痴;)
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将“提示”对话框中的输入替换为星号时出现问题
- Javascript提示不断出现
- 工具提示 D3 折线图出现问题
- 当用户键入/擦除时,使文本字段中的提示消失/重新出现
- 是否可以创建当鼠标悬停在
标记内的文本上时出现的工具提示
- Bootstrap 3 / Wordpress 中的工具提示出现问题
- 在使用ng repeat和limit to时,jQuery中的上下文出现错误,并从tether.js获得工具提示
- 重复提示,直到出现条件
- 在显示模式对话框的按钮上设置的工具提示将在关闭对话框后重新出现
- 可以't使用PhoneGap'API地理位置;总是使用Safari.出现丑陋的地理定位提示
- 当尝试将文件上传到Google drive api时,出现404提示,怀疑是数据格式化问题
- 辅助Javascript功能,无法得到提示框出现
- Qtip工具提示没有出现
- 我怎么知道文件下载/另存为"提示出现
- 在相邻的Highchart图表上出现工具提示问题
- 当鼠标悬停在文本上时,jquery工具提示不会出现
- Ruby on Rails中的淡出新闻提示.示例代码出现故障
- d3js-SVG:标题工具提示没有'不要出现
- Highcharts-使用点击事件的工具提示;t总是出现