【问题标题】:Google Drive API parent insert error "Resource metadata required"Google Drive API 父插入错误“需要资源元数据”
【发布时间】:2016-05-13 13:55:18
【问题描述】:

我想在 Google 云端硬盘中为我的文件插入一个新的父级。这允许文件同时位于具有相同 FileID 的两个不同文件夹中。这是我的代码:(我在 Node.js 上运行它并使用 request Node 包,但这不应该有任何区别)。

var request_url = 'https://www.googleapis.com/drive/v2/files/' + FILE_ID + '/parents/';
 request.post({
   "url": request_url,
   'headers': {
     'Authorization': 'Bearer ' + accessToken
   },
   'body': JSON.stringify({
     id: PARENT_FOLDER_ID
   })

 }, function(response, body) {
   console.log(body);
 });

但是,我收到以下错误:

{
  "error": {
    "errors": [{
      "domain": "global",
      "reason": "resourceRequired",
      "message": "Resource metadata required"
    }],
    "code": 400,
    "message": "Resource metadata required"
  }
}

我搜索了 Google Drive 的 API 文档,但没有找到任何相关的解决方案。

Google Drive 父母插入 API 参考: https://developers.google.com/drive/v2/reference/parents/insert

Google Drive API 父资源架构: https://developers.google.com/drive/v2/reference/parents#resource

任何帮助将不胜感激:)

【问题讨论】:

    标签: javascript node.js google-drive-api http-post


    【解决方案1】:

    代替

     'body': JSON.stringify({
         id: PARENT_FOLDER_ID
       })
    

    试试

    'json': {
             id: PARENT_FOLDER_ID
           }
    

    【讨论】:

    • 感谢您的帮助!但是,一个问题是,请求的“主体”不是 Google Drive 所期望的“主体”吗?这是否意味着“json”实际上是请求的主体?
    • 您需要阅读 API 文档以了解节点请求的区别。在这两种情况下,http 请求的主体(可能)是相同的。不同之处在于 Content-Type http 标头的设置,它告诉服务器(在本例中为 G 驱动器)如何解释该正文。
    猜你喜欢
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    相关资源
    最近更新 更多