谷歌API - 找不到文件 ID - 但返回的数据对应于我输入的文件夹 ID



我尝试将数据发送到谷歌云端硬盘,并使用谷歌云端硬盘API。

我期望的结果是我尝试发送的文件到达我的谷歌云端硬盘文件夹。我在此目标中输入了一个文件夹 ID。

通过Google云端硬盘API的简单上传,似乎实现了下载,但即使这样,我也无法在数据库中找到我上传的文件。

我正在尝试使用谷歌驱动器API文档中的谷歌创建功能。

事实是我已经输入了一个文件夹 ID。控制台返回我找不到文件 ID,我不明白这种奇怪的行为。

此处控制台返回:

错误

:创建时找不到文件错误_redirectable: [对象],

[Symbol(outHeadersKey(]: [Object] },

data: { error: [Object] } }, code: 404, error: [ { domain: 'global',

原因:"未找到", 消息:"找不到文件:1ZTCEjsqIH8NoB5xpo1AD32wBrV6bpsKI。 位置类型:"参数", 位置: '文件标识' } ] }

到目前为止,我已经在Google文档上找到了一些文档:

404:找不到文件:{fileId} 用户没有对 文件,或者该文件不存在。

{ "错误": { "错误":[ { "域": "全局", "原因": "未找到", "消息": "找不到文件 {fileId}" } ], "代码":404, "消息": "找不到文件: {文件ID}" } }

这是我的应用程序.js :

// call the function
module.exports.insertDrive = function (req, auth) {
console.log("callback reached.")
// folder ID 
var folderId = '0BwwA4oUTeiV1TGRPeTVjaWRDY1E';
// set the metadata of my file
var fileMetadata = {
'name': req.body.word,
parents:  [folderId]
};
// media type and path
var media = {
mimeType: 'audio/*',
body: fs.createReadStream(path.join(__dirname, "birds.mp3"))
};
// trying to create the file
drive.files.create({ // create error is probably link to drive.files.create
auth: jwtClient,
resource: fileMetadata,
media: media,
// returns only the file id
fields: 'id' 
}, function (err, file) {
if (err) {
// Handle error
console.error(err);
} else {
console.log('File Id: ', file.id);
}
console.log("callback accomplished.")
})};

谢谢

您可以查看本教程,它将向您解释Google驱动器Api的基础:

基本上,您必须确保已发出良好的请求来检索 json Web 令牌。然后使用授权向 Google 云端硬盘上的文件夹发出请求。此外,请确保已将目标文件夹与已创建的服务帐户的电子邮件共享。最后,要检索一些id,您必须使用特定的语法作为"file.data.id"。

这里是教程:

https://www.youtube.com/watch?v=gGSJpp6_ax0

相关内容

最新更新