Google PeopleApi - CreateContact 方法参数无效
Google PeopleApi - CreateContact method invalid argument
我正在尝试从我的应用程序创建联系人,但文档太可怕了!
我根据通过表单
收到的数据构建联系人对象
var contact = {
names: [
{
displayName: body.name
}
],
phoneNumbers: [
{
value: body.phone
}
],
biographies: [
{
value: body.notes
}
],
userDefined: [
{
value: body.snif
},
{
value: body.position
},
{
value: body.sms
},
{
value: body.whatsapp
}
]
};
并尝试提出请求,但我不知道出了什么问题
const service = google.people({version: 'v1', auth});
service.people.createContact({
parent: 'people/me',
resource: contact
}, {}, function(err, res) {
console.log(err)
});
我得到 400 INVALID_ARGUMENTS
errors:
[ { message: 'Request contains an invalid argument.',
domain: 'global',
reason: 'badRequest' } ] };
Node.js、ExpressJs
请问我做错了什么?
这个修改怎么样?
修改点:
- 错误原因是不是值的键。对于
userDefined
的属性,请添加key
的属性。
- 由此,您可以使用键检索值。
修改后的脚本:
请修改userDefined
如下。这些是示例密钥。所以请根据您的情况修改它们。
userDefined: [
{
value: body.snif,
key: "snif", // Added
},
{
value: body.position,
key: "position", // Added
},
{
value: body.sms,
key: "sms", // Added
},
{
value: body.whatsapp,
key: "whatsapp", // Added
},
],
另外如果你想获取API的响应,修改如下如何?
service.people.createContact({
parent: 'people/me',
resource: contact,
}, {}, function(err, res) {
if (err) {
console.log(err.errors);
return;
}
console.log(res.data);
});
注:
- 此修改后的脚本假定您可以使用 API 和范围来创建联系人。
参考文献:
如果我误解了你的问题,请告诉我。我想修改一下。
我正在尝试从我的应用程序创建联系人,但文档太可怕了!
我根据通过表单
收到的数据构建联系人对象var contact = {
names: [
{
displayName: body.name
}
],
phoneNumbers: [
{
value: body.phone
}
],
biographies: [
{
value: body.notes
}
],
userDefined: [
{
value: body.snif
},
{
value: body.position
},
{
value: body.sms
},
{
value: body.whatsapp
}
]
};
并尝试提出请求,但我不知道出了什么问题
const service = google.people({version: 'v1', auth});
service.people.createContact({
parent: 'people/me',
resource: contact
}, {}, function(err, res) {
console.log(err)
});
我得到 400 INVALID_ARGUMENTS
errors:
[ { message: 'Request contains an invalid argument.',
domain: 'global',
reason: 'badRequest' } ] };
Node.js、ExpressJs
请问我做错了什么?
这个修改怎么样?
修改点:
- 错误原因是不是值的键。对于
userDefined
的属性,请添加key
的属性。- 由此,您可以使用键检索值。
修改后的脚本:
请修改userDefined
如下。这些是示例密钥。所以请根据您的情况修改它们。
userDefined: [
{
value: body.snif,
key: "snif", // Added
},
{
value: body.position,
key: "position", // Added
},
{
value: body.sms,
key: "sms", // Added
},
{
value: body.whatsapp,
key: "whatsapp", // Added
},
],
另外如果你想获取API的响应,修改如下如何?
service.people.createContact({
parent: 'people/me',
resource: contact,
}, {}, function(err, res) {
if (err) {
console.log(err.errors);
return;
}
console.log(res.data);
});
注:
- 此修改后的脚本假定您可以使用 API 和范围来创建联系人。
参考文献:
如果我误解了你的问题,请告诉我。我想修改一下。