【问题标题】:How to technically send the query parameters to google cloud REST API?如何从技术上将查询参数发送到谷歌云 REST API?
【发布时间】:2021-08-03 12:45:51
【问题描述】:

我想打电话给这个REST API

如何添加这些参数?最大结果 页面令牌 全部 过滤

我如何在技术上发送查询参数?

有效负载或选项的哪一部分?

我找不到示例。

/**
 * Checks if dataset already exists in project.
 *
 * @return {boolean} Returns true if dataset already exists.
 */
function datasetExists() {
  // Get a list of all datasets in project.

  var url =
    'https://bigquery.googleapis.com/bigquery/v2/projects/${projectId}/datasets';

  var options = {
    method: 'GET',
    contentType: 'application/json',    
    payload: ""
  };
  var response = authUrlFetchApp.fetch(url, options);
  var result = JSON.parse(response.getContentText());


  Logger.log(result);
  if (result.entities) {
    Logger.log('Dataset with ID = %s created.', dataSet.id);
    // return a list of identified entities
    return result.entities;
  }

【问题讨论】:

  • 如果您正在检查数据集是否存在,则应查询此 URL bigquery.googleapis.com/bigquery/v2/projects{projectId}/datasets/{datasetId}(最后缺少 datasetId)。没有要传递的查询参数,但路径参数:projectId 和 datasetId。然后检查响应是 200 还是 404。
  • 谢谢,如果您转到我添加的链接。期望如何添加这些参数? maxResult 页面令牌所有过滤器

标签: rest google-cloud-platform google-bigquery


【解决方案1】:

所有 Google Cloud API 都使用相同的定义模式。

  • path参数,就是在url的路径中,像这样
https://bigquery.googleapis.com/xxx/yyy/<pathparameters>/zzz
  • 在 URL 中出现的查询参数,但在最后,在 ? 之后并用 &amp; 分隔。大多数时候是 tokenPage、pageSize、过滤器……
https://bigquery.googleapis.com/xxx/yyy/<pathparameters>/zzz?queryparam1=value1&queryparam2=value2
  • 执行 POST、PUT、PATCH、DELETE 时提供的正文。在 JSON 中(因此使用时需要添加内容类型标头)。

最后,在安全性方面,API 需要 Authorization 标头中的 Bearer 访问令牌

【讨论】:

  • 如何添加一个空主体?和非空?在payload: "" 下?
  • 在执行 GET 时不要提及对象中的有效负载。
  • 或者放你想要的。使用 GET,不提供正文
猜你喜欢
  • 2019-04-22
  • 2018-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-21
  • 1970-01-01
  • 1970-01-01
  • 2019-08-26
相关资源
最近更新 更多