在 javascript 中使用 google 索引 api 时请求错误
bad request while using google index api in javascript
大家好,我想制作一个脚本,通过使用 google 索引 api 从 http://localhost:8000/[ 更新我网站的新网址=33=]
我将 http://localhost:8000 添加到客户端 ID 中的授权 JavaScript 来源
但我有错误 400 :
Sign-in successful
cb=gapi.loaded_0:228 GET https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest?pp=0&fields=kind%2Cname%2Cversion%2CrootUrl%2CservicePath%2Cresources%2Cparameters%2Cmethods%2CbatchPath%2Cid&key='my api' 400
wh @ cb=gapi.loaded_0:228
g @ cb=gapi.loaded_0:228
xh @ cb=gapi.loaded_0:229
(anonymous) @ cb=gapi.loaded_0:229
d @ cb=gapi.loaded_0:186
b @ cb=gapi.loaded_0:181
Error loading GAPI client for API
{error: {…}}
error:
code: 400
message: "Request contains an invalid argument."
status: "INVALID_ARGUMENT"
__proto__: Object
__proto__: Object
我将浏览器从 chrome 更改为边缘它工作一次然后我关闭了我的电脑但问题再次出现后的第二天。
我正在使用 api expoler 脚本:link
我把脚本和控制台日志作为图像
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for indexing.urlNotifications.publish
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/guides/code_samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({
scope: "https://www.googleapis.com/auth/indexing"
})
.then(function() {
console.log("Sign-in successful");
},
function(err) {
console.error("Error signing in", err);
});
}
function loadClient() {
gapi.client.setApiKey("My-API");
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest")
.then(function() {
console.log("GAPI client loaded for API");
},
function(err) {
console.error("Error loading GAPI client for API", err);
});
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.indexing.urlNotifications.publish({
"resource": {
"url": "example",
"type": "URL_UPDATED"
}
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) {
console.error("Execute error", err);
});
}
gapi.load("client:auth2", function() {
gapi.auth2.init({
client_id: "my OAuth client ID"
});
});
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>
</body>
</html>
here the console log
感谢上帝,我尝试了 loadClient 然后进行了身份验证并且它有效
like this <button onclick="loadClient().then(authenticate)">authorize and load</button>
那我就用chrome隐身
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for indexing.urlNotifications.publish
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/guides/code_samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/indexing"})
.then(function () { console.log("Sign-in successful"); },
function (err) { console.error("Error signing in", err); });
}
function loadClient() {
gapi.client.setApiKey("My API");
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest")
.then(function () { console.log("GAPI client loaded for API"); },
function (err) { console.error("Error loading GAPI client for API", err); });
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.indexing.urlNotifications.publish({
"resource": {
"url": "my web site",
"type": "URL_UPDATED"
}
})
.then(function (response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function (err) { console.error("Execute error", err); });
}
gapi.load("client:auth2", function () {
gapi.auth2.init({client_id:"My client ID"});
});
</script>
<button onclick="loadClient().then(authenticate)">authorize and load</button>
<button onclick="execute()">execute</button>
</body>
</html>
GAPI client loaded for API
Sign-in successful
Response {result: {…}, body: "{↵ "urlNotificationMetadata": {↵ "url": "https…e": "2020-09-15T20:34:07.091671446Z"↵ }↵ }↵}↵", headers: {…}, status: 200, statusText: null}
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for indexing.urlNotifications.publish
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/code-samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/indexing"})
.then(function() { console.log("Sign-in successful"); },
function(err) { console.error("Error signing in", err); });
}
function loadClient() {
gapi.client.setApiKey("xxxxxxxxxxxxxxxxxxxx");
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest")
.then(function() { console.log("GAPI client loaded for API"); },
function(err) { console.error("Error loading GAPI client for API", err); });
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.indexing.urlNotifications.publish({
"resource": {}
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) { console.error("Execute error", err); });
}
gapi.load("client:auth2", function() {
gapi.auth2.init({client_id: "samplexxxxxxxxxxxxxxxxxx.apps.googleusercontent.com"});
});
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>
不工作并且
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for indexing.urlNotifications.publish
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/code-samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/indexing"})
.then(function() { console.log("Sign-in successful"); },
function(err) { console.error("Error signing in", err); });
}
function loadClient() {
gapi.client.setApiKey("xxxxxxxxxxxxxxxxxxxx");
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest")
.then(function() { console.log("GAPI client loaded for API"); },
function(err) { console.error("Error loading GAPI client for API", err); });
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.indexing.urlNotifications.publish({
"resource": {}
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) { console.error("Execute error", err); });
}
gapi.load("client:auth2", function() {
gapi.auth2.init({client_id: "samplexxxxxxxxxxxxxxxxxx.apps.googleusercontent.com"});
});
</script>
<button onclick="loadClient().then(authenticate)">authorize and load</button>
<button onclick="execute()">execute</button>
无法正常工作所有错误;
代码代码:400
消息:“请求包含无效参数。”
状态:“INVALID_ARGUMENT”
大家好,我想制作一个脚本,通过使用 google 索引 api 从 http://localhost:8000/[ 更新我网站的新网址=33=] 我将 http://localhost:8000 添加到客户端 ID 中的授权 JavaScript 来源 但我有错误 400 :
Sign-in successful
cb=gapi.loaded_0:228 GET https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest?pp=0&fields=kind%2Cname%2Cversion%2CrootUrl%2CservicePath%2Cresources%2Cparameters%2Cmethods%2CbatchPath%2Cid&key='my api' 400
wh @ cb=gapi.loaded_0:228
g @ cb=gapi.loaded_0:228
xh @ cb=gapi.loaded_0:229
(anonymous) @ cb=gapi.loaded_0:229
d @ cb=gapi.loaded_0:186
b @ cb=gapi.loaded_0:181
Error loading GAPI client for API
{error: {…}}
error:
code: 400
message: "Request contains an invalid argument."
status: "INVALID_ARGUMENT"
__proto__: Object
__proto__: Object
我将浏览器从 chrome 更改为边缘它工作一次然后我关闭了我的电脑但问题再次出现后的第二天。 我正在使用 api expoler 脚本:link 我把脚本和控制台日志作为图像
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for indexing.urlNotifications.publish
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/guides/code_samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({
scope: "https://www.googleapis.com/auth/indexing"
})
.then(function() {
console.log("Sign-in successful");
},
function(err) {
console.error("Error signing in", err);
});
}
function loadClient() {
gapi.client.setApiKey("My-API");
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest")
.then(function() {
console.log("GAPI client loaded for API");
},
function(err) {
console.error("Error loading GAPI client for API", err);
});
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.indexing.urlNotifications.publish({
"resource": {
"url": "example",
"type": "URL_UPDATED"
}
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) {
console.error("Execute error", err);
});
}
gapi.load("client:auth2", function() {
gapi.auth2.init({
client_id: "my OAuth client ID"
});
});
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>
</body>
</html>
here the console log
感谢上帝,我尝试了 loadClient 然后进行了身份验证并且它有效
like this <button onclick="loadClient().then(authenticate)">authorize and load</button>
那我就用chrome隐身
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for indexing.urlNotifications.publish
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/guides/code_samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/indexing"})
.then(function () { console.log("Sign-in successful"); },
function (err) { console.error("Error signing in", err); });
}
function loadClient() {
gapi.client.setApiKey("My API");
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest")
.then(function () { console.log("GAPI client loaded for API"); },
function (err) { console.error("Error loading GAPI client for API", err); });
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.indexing.urlNotifications.publish({
"resource": {
"url": "my web site",
"type": "URL_UPDATED"
}
})
.then(function (response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function (err) { console.error("Execute error", err); });
}
gapi.load("client:auth2", function () {
gapi.auth2.init({client_id:"My client ID"});
});
</script>
<button onclick="loadClient().then(authenticate)">authorize and load</button>
<button onclick="execute()">execute</button>
</body>
</html>
GAPI client loaded for API
Sign-in successful
Response {result: {…}, body: "{↵ "urlNotificationMetadata": {↵ "url": "https…e": "2020-09-15T20:34:07.091671446Z"↵ }↵ }↵}↵", headers: {…}, status: 200, statusText: null}
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for indexing.urlNotifications.publish
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/code-samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/indexing"})
.then(function() { console.log("Sign-in successful"); },
function(err) { console.error("Error signing in", err); });
}
function loadClient() {
gapi.client.setApiKey("xxxxxxxxxxxxxxxxxxxx");
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest")
.then(function() { console.log("GAPI client loaded for API"); },
function(err) { console.error("Error loading GAPI client for API", err); });
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.indexing.urlNotifications.publish({
"resource": {}
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) { console.error("Execute error", err); });
}
gapi.load("client:auth2", function() {
gapi.auth2.init({client_id: "samplexxxxxxxxxxxxxxxxxx.apps.googleusercontent.com"});
});
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>
不工作并且
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for indexing.urlNotifications.publish
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/code-samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/indexing"})
.then(function() { console.log("Sign-in successful"); },
function(err) { console.error("Error signing in", err); });
}
function loadClient() {
gapi.client.setApiKey("xxxxxxxxxxxxxxxxxxxx");
return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/indexing/v3/rest")
.then(function() { console.log("GAPI client loaded for API"); },
function(err) { console.error("Error loading GAPI client for API", err); });
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.indexing.urlNotifications.publish({
"resource": {}
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) { console.error("Execute error", err); });
}
gapi.load("client:auth2", function() {
gapi.auth2.init({client_id: "samplexxxxxxxxxxxxxxxxxx.apps.googleusercontent.com"});
});
</script>
<button onclick="loadClient().then(authenticate)">authorize and load</button>
<button onclick="execute()">execute</button>
无法正常工作所有错误; 代码代码:400 消息:“请求包含无效参数。” 状态:“INVALID_ARGUMENT”