[英]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.