繁体   English   中英

为什么连接自己的数据源时看不到API Key提示?

[英]Why can't I see API Key prompt when connecting to my own data source?

我无法弄清楚为什么我看不到输入 API 密钥的提示。 我可以直接连接而无需任何身份验证。 为什么忽略 API 密钥?

auth.js 文件:

function getAuthType() {
  return {
    type: 'KEY'
  };
}

function validateKey(key) {
  var url = 'http://myapi.com/endpoint?api_key=' + key;
  var options = {
    "method": "post",
    "contentType":"application/json"
  };

  var response = JSON.parse(
    UrlFetchApp.fetch(url, options)
  );
  Logger.log(response.data.length > 0)
  return response.data.length > 0;
}

function isAuthValid() {
  var userProperties = PropertiesService.getUserProperties();
  var key = userProperties.getProperty('dscc.key');

  return validateKey(key);
}

function resetAuth() {
  var userProperties = PropertiesService.getUserProperties();
  userProperties.deleteProperty('dscc.key');
}

function setCredentials(request) {
  var key = request.key;

  var userProperties = PropertiesService.getUserProperties();
  userProperties.setProperty('dscc.key', key);
  return {
    errorCode: 'NONE'
  };
}

function isAdminUser() {
  return false;
}

Logger.log output:

在此处输入图像描述

我使用的是http url。我们已将 API 移至https ,问题已解决。 Data Studio 不显示任何错误消息并跳过授权步骤。 这很奇怪。

编辑:一个月后,在查看文档时我注意到 Data Studio 已经要求我们提供https url。

每个前缀必须使用https:// ,而不是http:// 资源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM