代码之家  ›  专栏  ›  技术社区  ›  user2543127

无法在Google Drive上使用googleapis上载文件

  •  0
  • user2543127  · 技术社区  · 5 年前

    我对使用googleapis(v.40)软件包在google drive上上传文件有问题:

    在我的web应用程序(用Vue js编写)中,我需要使用googleapis将用户“A”的图像文件上传到用户“B”的google驱动器空间。

    为此,我从谷歌控制台平台(用户B)创建了一个“服务帐户”,并生成了凭证。用于API访问的json。(JWToken,服务对服务场景)

    在我的web应用程序中,通过服务帐户的json凭据获得AccessToken后,我就可以上传文件了。但是,当我打电话给驱动器时。文件夹。创建(…)api i收到以下错误:

    包含0个mime部分的多部分请求无效。

    下面是一些代码:

    ... 
    
    // get google api
    const {google} = require("googleapis");
    const drive      = google.drive("v3");
    
    // get authorization token
    let authToken = await getAuthToken() // it perfectly works
    console.log(authToken)
    
    let metadata = {
       name: name,
       parents: [idOfTheParentFolder]
    }
    
    let media = {
       mimeType: 'image/jpeg',
       body: file
    }
    
    let objImage = {
       auth: authToken,
       resource:metadata,
       media: media,
       fields: 'id',
    }
    
    drive.files.create(objImage, function (error, success) {
      if (!error) {
          ...
      }
      else{
        // here i got the error in question
      }
    })
    

    我在单节点js文件中尝试了这段代码,效果很好,但在web浏览器Vue应用程序中不起作用。

    首先让我说,用于显示文件的API(drive.files.list())和用于创建文件夹的API(drive.files.create())在我的web应用程序中运行良好。

    有什么建议吗?

    0 回复  |  直到 5 年前