首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google Drive API未找到错误,仅在提取元数据时

Google Drive API未找到错误,仅在提取元数据时
EN

Stack Overflow用户
提问于 2021-06-29 18:52:30
回答 1查看 35关注 0票数 1

我正在尝试使用googleapis npm包从Google Drive文件中获取元数据:

代码语言:javascript
运行
复制
import { google } from 'googleapis'

const auth = new google.auth.JWT(
  'service-user@project-title.iam.gserviceaccount.com',
  null,
  '-----BEGIN PRIVATE KEY-----\nXXXXXX==\n-----END PRIVATE KEY-----\n',
  ['https://www.googleapis.com/auth/drive.readonly'], 
)

export default async ( req, res ) => {
  try {
    const drive = google.drive( { version: 'v3', auth } )
    const data = await drive.files.get( { fileId: 'XXXX' } )
    res.json( { data } )
  }
  catch ( err ) {
    console.error( err )
    res.status( 500 ).json( { error: err.message, err } )
  }
}

当我发出请求时,我得到了一个File not found: XXXX错误。但该文件确实存在,并且我使用的服务帐户具有访问权限。我可以确认这一点,因为如果我在添加alt: "media"参数时发出完全相同的请求:

代码语言:javascript
运行
复制
const data = await drive.files.get( { fileId: 'XXXX', alt: "media" } )

请求起作用了,我可以获得文件数据了。这让我相信权限是正确的。

您知道如何成功获取文件元数据(特别是文件名)吗?

EN

回答 1

Stack Overflow用户

发布于 2021-06-29 20:39:43

原来是因为文件是与服务帐户共享的,而不是在服务帐户自己的驱动器中共享的。我需要包含参数supportsAllDrives: true

代码语言:javascript
运行
复制
const data = await drive.files.get( { fileId, supportsAllDrives: true } )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68177309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档