【问题标题】:Google Drive API - "Resource metadata required" in inserting comments to a file even though resource is specifiedGoogle Drive API - 即使指定了资源,在向文件插入评论时“需要资源元数据”
【发布时间】:2013-08-27 04:15:24
【问题描述】:

我正在尝试向 Google Drive 文档添加评论 - 身份验证令牌和客户端 ID 都是正确的(尝试执行其他所有操作),但添加评论时 - 我收到错误:

code: 400,
  message: 'Resource metadata required',
  data: 
   [ { domain: 'global',
       reason: 'required',
       message: 'Resource metadata required' } ] }

不知道发生了什么。我发送的资源包含 { content: 'something' } 以及 fileId 的另一个参数。

如果您有任何想法,请告诉我。

谢谢!

【问题讨论】:

  • 在调用execute之前,尝试手动将请求的body属性设置为` { content: 'something' }`

标签: google-drive-api google-drive-realtime-api


【解决方案1】:

这个问题很老,但也许有人仍然可以像我一样使用该解决方案。

我想你是这样尝试的:

var request = client.drive.comments.insert({
  'fileId': fileId,
  'resource': body
});

在这方面的文档似乎已经过时了。我有一个类似的案例,我试图插入一个权限。我在that question 中发现了另一个类似的问题以及解决方案。

正确的做法是:

 var request = client.drive.comments.insert(
   { fileId: fileId }, body
  );

【讨论】:

    【解决方案2】:

    查看 Google Drive API 的官方文档:Comments.insert()。在页面底部,您将看到可以使用的各种语言的示例代码。

    一般来说,在 StackOverflow,如果您需要更好的帮助,请指定您的问题并添加您的源代码和错误堆栈。

    【讨论】:

      【解决方案3】:

      这对我有用。

      var options = {
              url: 'https://www.googleapis.com/drive/v2/files/' + params.id + '/permissions',
              headers: {
                  'Authorization': 'Bearer ' + self.tokens.access_token,
                  'Content-Type': 'application/json',
                  'Content-Length': JSON.stringify(params.metadata).length
              },
              body: JSON.stringify(params.metadata)
          };
      

      【讨论】:

        猜你喜欢
        • 2016-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-08
        相关资源
        最近更新 更多