我开始玩Google Cloud DNS,我想破解一个小的Javascript项目来列出/编辑区域/ resourceRecords。 我从“Getting Started”页面开始,它解释并提供了JS查询/编辑过程的一些示例。事情是我在某些方面得到了谷歌API响应和“无效项目”错误的所有提供的'project'参数值。我正在使用来自Google Developer Console的web应用程序的clientID作为oAuth部分。我正在使用的项目名称是google中名为PROJECT ID的字符串(我在gcloud命令行工具或在线JS测试平台中成功使用的那个)。
根据:https://content.googleapis.com/discovery/v1/apis/dns/v1beta1/rpc dns.resourceRecordsSets.list 需要两个参数: managedZone 和 project 。如果我在没有参数的情况下打电话,我会得到这个:
[
{
"error": {
"code": 400,
"message": "Required value: managedZone",
"data": [
{
"domain": "global",
"reason": "required",
"message": "Required value: managedZone"
},
{
"domain": "global",
"reason": "required",
"message": "Required value: project"
}
]
},
"id": "gapiRpc"
}
]
这完全没问题...... 接下来,我添加项目和managedZone参数,然后我得到这个:
[
{
"error": {
"code": 400,
"message": "Invalid parameter: project",
"data": [
{
"domain": "global",
"reason": "invalidParameter",
"message": "Invalid parameter: project",
"locationType": "parameter",
"location": "project"
}
]
},
"id": "gapiRpc"
}
]
这是我的API调用代码....我还尝试检查Google的JS代码,但没有成功找到“无效参数”代码......
gapi.client.load('dns', 'v1beta1', function() {
var request = gapi.client.dns.resourceRecordSets.list({
'project': 'lolName',
'managedZone': 'lolZone'
});
request.execute(function(resp) {
console.log(resp);
if (resp.code == 200) {
// do some displaying
}
else {
document.getElementById('content').appendChild(document.createTextNode('Error: ' + resp.message));
}
});