【问题标题】:Specify request body in Google API calls (using Google APIs Client Library for JavaScript)在 Google API 调用中指定请求正文(使用适用于 JavaScript 的 Google API 客户端库)
【发布时间】:2012-08-06 06:10:43
【问题描述】:

我正在尝试调用 Google API 方法 drive.files.insert 在 Google Drive 中创建一个文件夹,请求如下(使用 Google APIs Client Library for JavaScript):

var request = gapi.client.drive.files.insert({'convert': 'false', 'ocr': 'false'});
request.execute(function(resp) { console.log(resp); });

问题是我需要在请求正文中指定一些参数,例如:

{
    "title":"testFolder",
    "description":"hello world",
    "mimeType":"application/vnd.google-apps.folder"
}

但我无法弄清楚如何使用适用于 JavaScript 的 Google API 客户端库指定这些参数。有什么建议可以实现吗?

【问题讨论】:

    标签: javascript google-drive-api


    【解决方案1】:

    不一定是 gapi.client.requestbody 字段。

    您可以尝试gapi.client.drive.files.insert({'convert': 'false', 'ocr': 'false','resource': resource}),其中resource 实际上是您要发送的内容,例如

    resource = {
        "title":"testFolder",
        "description":"hello world",
        "mimeType":"application/vnd.google-apps.folder"
    }
    

    我尚未验证这一点,但我尝试了完全相同的场景,发送请求正文以创建 Google 任务列表 (gapi.client.tasks.tasklists.insert)

    【讨论】:

    • 非常感谢!同样的事情也适用于需要上传请求正文的分析 API。因此,出于某种原因,他们认为“资源”是一个很好的关键字来分隔请求正文,但并不关心如何很好地记录它。
    【解决方案2】:

    使用“资源”关键字发送正文。

    【讨论】:

      【解决方案3】:

      传递body 字段。 See this example 了解更多信息。

      【讨论】:

      • 非常感谢,所以如果我们要发送带有正文的请求,我们需要使用gapi.client.request
      • 有没有不使用gapi.client.request的解决方案?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多