通过google api rest创建文件夹时,我无法从google驱动器控制台中看到新创建的文件夹。该代码有效,它返回带有刚刚创建的文件夹的所有数据的json。
function createFolder(nameProduct,folderId){
console.log("nome folder : "+nameProduct);
console.log("id parent : "+folderId);
var fileMetadata = {
'name': nameProduct,
'mimeType': 'application/vnd.google-apps.folder',
parent : [folderId]
};
let objFolder = {
auth: jwToken,
resource: fileMetadata,
fields: 'id'
}
return new Promise((resolve,reject)=>{
drive.files.create(objFolder).then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
resolve(response);
},
function(err) {
// handle error here.
reject(err);
console.error("Execute error", err);
});
});
}
var jwToken = new google.auth.JWT(
key.client_email,
null,
key.private_key, ["https://www.googleapis.com/auth/drive"],
null
);
jwToken.authorize((authErr) => {
if (authErr) {
console.log("error : " + authErr);
return;
} else {
console.log("Authorization accorded");
}
});
身份验证正常,我可以创建文件。我只有文件夹有此问题。 为什么在Google云端硬盘上看不到?该方法正确返回ID
答案 0 :(得分:1)
您似乎正在使用服务帐户进行身份验证。服务帐户是虚拟用户,他们拥有自己的Google云端硬盘帐户,Google日历帐户以及其他一些帐户。
当您上传该文件时,其已上传到服务帐户google驱动器帐户。服务帐户没有网络视图,您只能以编程方式对其进行访问。
选项:上传到您的帐户
在您的Google云端硬盘帐户上创建目录,然后与服务帐户共享该目录并上传到该目录。
选项:与您共享服务帐户目录
让服务帐户创建目录,然后向自己授予该目录的权限。然后,您将能够在您的帐户中看到该目录。
注意
服务帐户上传文件时,它将是该文件的所有者,请确保您授予自己这些文件的权限,否则将无法访问它们。是的,您可以在驱动器帐户上拥有一个您无权访问的文件。