google 人 API 错误代码:400,收到无效的 JSON 负载
google People API error code: 400, Invalid JSON payload received
大家好,我正在开发一个项目,该项目使用 google 人 API 使用 nodejs 和 express 服务器对经过身份验证的用户进行 crud 操作。
我能够获取所有联系人、搜索特定联系人并使用资源名称。
但我无法创建联系人组或标签。我已经阅读 google 文档好几个星期了,我遇到了错误
这是服务器的响应
^
GaxiosError:收到无效的 JSON 负载。未知名称“contactGroup[name]”:无法绑定查询参数。在请求消息中找不到字段 'contactGroup[name]'。在 Gaxios。 (D:#001ADeveloperZone\workSpaces\autmarket\node_modules\gaxios\build\src\gaxios.js:73:27)
在 Generator.next ()
在履行 (D:#001ADeveloperZone\workSpaces\autmarket\node_modules\gaxios\build\src\gaxios.js:16:58)
在 processTicksAndRejections(节点:internal/process/task_queues:96:5){
回复: {
配置:{
access_token: ',
refresh_token: '',
url: 'https://people.googleapis.com/v1/contactGroups?contactGroup%5Bname%5D=hotmail',
方法:'POST',
paramsSerializer:[函数(匿名)],
headers:{
'Accept-Encoding': 'gzip',
'User-Agent': 'google-api-nodejs-client/0.7.2 (gzip)',
授权: '',
接受:'application/json'
},
params: [Object: null prototype] { contactGroup: { name: 'hotmail' } },
validateStatus:[功能(匿名)],
响应类型:'json'
},
数据: {
错误: {
代码:400,
消息:Invalid JSON payload received. Unknown name "contactGroup[name]": Cannot bind query parameter. Field 'contactGroup[name]' could not be found in request message.
,
错误:[
{
消息:Invalid JSON payload received. Unknown name "contactGroup[name]": Cannot bind query parameter. Field 'contactGroup[name]' could not be found in request message.
,
原因:'invalid'
}
],
状态:'INVALID_ARGUMENT',
细节: [
{
'@type': 'type.googleapis.com/google.rpc.BadRequest',
fieldViolations:[数组]
}
]
}
},
headers:{
'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"',
'cache-control': 'private',
连接:'close',
'content-encoding': 'gzip',
'content-type': 'application/json; charset=UTF-8',
日期:'Tue, 08 Mar 2022 16:27:38 GMT',
服务器:'ESF',
'transfer-encoding': 'chunked',
变化:'Origin, X-Origin, Referer',
'x-content-type-options': 'nosniff',
'x-frame-options': 'SAMEORIGIN',
'x-xss-protection': '0'
},
状态:400,
状态文本:'Bad Request'
},
配置:{
access_token: ,
refresh_token: '',
url: 'https://people.googleapis.com/v1/contactGroups?contactGroup%5Bname%5D=hotmail',
方法:'POST',
paramsSerializer:[函数(匿名)],
headers:{
'Accept-Encoding': 'gzip',
'User-Agent': 'google-api-nodejs-client/0.7.2 (gzip)',
授权: '',
接受:'application/json'
},
params: [Object: null prototype] { contactGroup: { name: 'hotmail' } },
validateStatus:[功能(匿名)],
响应类型:'json'
},
代码:400,
错误:[
{
消息:Invalid JSON payload received. Unknown name "contactGroup[name]": Cannot bind query parameter. Field 'contactGroup[name]' could not be found in request message.
,
原因:'invalid'
}
]
}
这是我的代码
create_group: (req, res) => {
try {
//create group or label
let userGoogleContactsGroups = getGroups().then((data) =>
JSON.parse(JSON.stringify(data))
);
let userGroups = userGoogleContactsGroups.then(({ contactGroups }) => {
let names = contactGroups.map((group) => `${group.name}`);
return names;
});
userGroups.then((data) => {
if (data.includes("amazoggn")) {
return res.status(301).json({ code: 301, mesage: "group exist" });
} else {
// let name =" amazoggn";
try {
contactGroup={
name:name
}
let strdata = JSON.parse(JSON.stringify({contactGroup}));
let mydata = people.contactGroups.create(strdata)
if (mydata) {
console.log(mydata)
} else {
return "error occured"
}
} catch (error) {
console.log(error)
}
}
});
} catch (error) {
console.log(error);
}
}
我需要这方面的帮助如何在 google 人 api
中创建联系人组
查看文档,我认为您应该在 people.contactGroups.create
.
的调用中指定一个字段 requestBody
尝试这样的事情:
const res = await people.contactGroups.create({
requestBody: {
"contactGroup": {
"name": "HelloWorld"
}
}
});
大家好,我正在开发一个项目,该项目使用 google 人 API 使用 nodejs 和 express 服务器对经过身份验证的用户进行 crud 操作。
我能够获取所有联系人、搜索特定联系人并使用资源名称。
但我无法创建联系人组或标签。我已经阅读 google 文档好几个星期了,我遇到了错误
这是服务器的响应
^
GaxiosError:收到无效的 JSON 负载。未知名称“contactGroup[name]”:无法绑定查询参数。在请求消息中找不到字段 'contactGroup[name]'。在 Gaxios。 (D:#001ADeveloperZone\workSpaces\autmarket\node_modules\gaxios\build\src\gaxios.js:73:27)
在 Generator.next ()
在履行 (D:#001ADeveloperZone\workSpaces\autmarket\node_modules\gaxios\build\src\gaxios.js:16:58)
在 processTicksAndRejections(节点:internal/process/task_queues:96:5){
回复: {
配置:{
access_token: ',
refresh_token: '',
url: 'https://people.googleapis.com/v1/contactGroups?contactGroup%5Bname%5D=hotmail',
方法:'POST',
paramsSerializer:[函数(匿名)],
headers:{
'Accept-Encoding': 'gzip',
'User-Agent': 'google-api-nodejs-client/0.7.2 (gzip)',
授权: '',
接受:'application/json'
},
params: [Object: null prototype] { contactGroup: { name: 'hotmail' } },
validateStatus:[功能(匿名)],
响应类型:'json'
},
数据: {
错误: {
代码:400,
消息:Invalid JSON payload received. Unknown name "contactGroup[name]": Cannot bind query parameter. Field 'contactGroup[name]' could not be found in request message.
,
错误:[
{
消息:Invalid JSON payload received. Unknown name "contactGroup[name]": Cannot bind query parameter. Field 'contactGroup[name]' could not be found in request message.
,
原因:'invalid'
}
],
状态:'INVALID_ARGUMENT',
细节: [
{
'@type': 'type.googleapis.com/google.rpc.BadRequest',
fieldViolations:[数组]
}
]
}
},
headers:{
'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"',
'cache-control': 'private',
连接:'close',
'content-encoding': 'gzip',
'content-type': 'application/json; charset=UTF-8',
日期:'Tue, 08 Mar 2022 16:27:38 GMT',
服务器:'ESF',
'transfer-encoding': 'chunked',
变化:'Origin, X-Origin, Referer',
'x-content-type-options': 'nosniff',
'x-frame-options': 'SAMEORIGIN',
'x-xss-protection': '0'
},
状态:400,
状态文本:'Bad Request'
},
配置:{
access_token: ,
refresh_token: '',
url: 'https://people.googleapis.com/v1/contactGroups?contactGroup%5Bname%5D=hotmail',
方法:'POST',
paramsSerializer:[函数(匿名)],
headers:{
'Accept-Encoding': 'gzip',
'User-Agent': 'google-api-nodejs-client/0.7.2 (gzip)',
授权: '',
接受:'application/json'
},
params: [Object: null prototype] { contactGroup: { name: 'hotmail' } },
validateStatus:[功能(匿名)],
响应类型:'json'
},
代码:400,
错误:[
{
消息:Invalid JSON payload received. Unknown name "contactGroup[name]": Cannot bind query parameter. Field 'contactGroup[name]' could not be found in request message.
,
原因:'invalid'
}
]
}
这是我的代码
create_group: (req, res) => {
try {
//create group or label
let userGoogleContactsGroups = getGroups().then((data) =>
JSON.parse(JSON.stringify(data))
);
let userGroups = userGoogleContactsGroups.then(({ contactGroups }) => {
let names = contactGroups.map((group) => `${group.name}`);
return names;
});
userGroups.then((data) => {
if (data.includes("amazoggn")) {
return res.status(301).json({ code: 301, mesage: "group exist" });
} else {
// let name =" amazoggn";
try {
contactGroup={
name:name
}
let strdata = JSON.parse(JSON.stringify({contactGroup}));
let mydata = people.contactGroups.create(strdata)
if (mydata) {
console.log(mydata)
} else {
return "error occured"
}
} catch (error) {
console.log(error)
}
}
});
} catch (error) {
console.log(error);
}
}
我需要这方面的帮助如何在 google 人 api
中创建联系人组查看文档,我认为您应该在 people.contactGroups.create
.
requestBody
尝试这样的事情:
const res = await people.contactGroups.create({
requestBody: {
"contactGroup": {
"name": "HelloWorld"
}
}
});