Aar*_*ron 1 google-api google-drive-api
Google Drive 主题 有没有办法通过 file_id 或folder_id 获取“文件夹名称”?
这不能在一次调用中完成,需要两次调用。首先,找到您拥有的文件 ID 的父 ID,然后需要使用第一次调用返回给您的父 ID 来请求文件夹的名称。
GET https://www.googleapis.com/drive/v3/files/[FileId]?fields=parents将为您提供文件当前所在文件夹的父 ID
GET https://www.googleapis.com/drive/v3/files/[ParentId]?fields=name将为您提供父文件夹的名称
这是一个用“node.js”制作的简单示例
我们正在搜索文件名“123”,一旦找到就搜索父 ID
回调方式:
function getParentID(auth) {
const drive = google.drive({
version: 'v3',
auth
});
drive.files.list({
q: "name = '123'"
}, (err, res) => {
if (err) return console.log('#1001 - The API returned an error: ' + err);
const fileId = res.data.files[0].id;
console.log("File ID : ", fileId);
drive.files.get({
fileId: fileId,
fields: "parents"
}, (err, res) => {
if (err) return console.log('#1002 - The API returned an error:' + err);
console.log("Parent folder ID :", res.data.parents[0])
})
});
}
Run Code Online (Sandbox Code Playgroud)
承诺方式:
function getParentID2(auth) {
const drive = google.drive({
version: 'v3',
auth
});
drive.files.list({
q: "name = '123'"
}).then((res) => {
const fileId = res.data.files[0].id;
console.log("File ID : ", fileId);
drive.files.get({
fileId: fileId,
fields: "parents"
}).then((res) => {
console.log("Parent folder ID :", res.data.parents[0])
})
}).catch((err) => {
console.log(err.response.data)
})
}
Run Code Online (Sandbox Code Playgroud)
输出:
File ID : 2xU_zgmOcjOIterprt91wibEEKU8fuNI-yZuBcgvEFjY
Parent folder ID : 2KQve4H24jlgJKcywGRBJaOnTK2tDLZgR
| 归档时间: |
|
| 查看次数: |
7682 次 |
| 最近记录: |