当我尝试更新联系人以在 Google People API 中添加照片时,为什么总是出现 [400] 照片格式无效错误?
当尝试更新 Google People API 中的联系人以添加个人资料图片 (/v1/people/{{RessourceName}}/:updateContactPhoto PATCH) 时,我不断收到 400 错误:照片格式无效。 你知道我做错了什么或者这个错误消息到底意味着什么吗?
这是请求正文的示例:
{
"photoBytes": "aHR0cHM6Ly9zMy51cy13ZXN0LTIuYW1hem9uYXdzLmNvbS9zZWN1cmUubm90aW9uLXN0YXRpYy5jb20vN2ZkNmY2YzMtZDM1Yi00YTUzLTkyMTItYjA5Y2JmMWE1NjBjL3RsY2hhcmdlbWVudC5qcGc/WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ29udGVudC1TaGEyNTY9VU5TSUdORUQtUEFZTE9BRCZYLUFtei1DcmVkZW50aWFsPUFLSUFUNzNMMkc0NUVJUFQzWDQ1JTJGMjAyMjAzMjIlMkZ1cy13ZXN0LTIlMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjIwMzIyVDE4MTIxMlomWC1BbXotRXhwaXJlcz0zNjAwJlgtQW16LVNpZ25hdHVyZT04ZGU4OGI2ZTU0NGQ2NTRjNGE0ODhhOTljMTljZjcxNDEyOTk5OWQ2NGQ3YzgwYmZkY2Y1ODYyNDcwMmQxNzFjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZ4LWlkPUdldE9iamVjdA==",
"personFields": "addresses,ageRanges,biographies,birthdays,calendarUrls,clientData,coverPhotos,emailAddresses,events,externalIds,genders,imClients,interests,locales,locations,memberships,metadata,miscKeywords,names,nicknames,occupations,organizations,phoneNumbers,photos,relations,sipAddresses,skills,urls,userDefined,fileAses"
}
我已经尝试了内容类型“multipart/form-data”和“application/json”,但我没有改变任何东西。
这是我一直拥有的典型回复体,但我不知道如何解释它:
{
"error": {
"code": 400,
"message": "Invalid photo format",
"status": "INVALID_ARGUMENT"
}
}
您能帮我解决这个问题吗?
When trying to update a contact in Google People API to add a profile image (/v1/people/{{RessourceName}}/:updateContactPhoto PATCH), I keep having a 400 error: Invalid photo format. Do you have any idea what am I doing wrong or what exactly this error message could mean ?
Here is an example of the request body:
{
"photoBytes": "aHR0cHM6Ly9zMy51cy13ZXN0LTIuYW1hem9uYXdzLmNvbS9zZWN1cmUubm90aW9uLXN0YXRpYy5jb20vN2ZkNmY2YzMtZDM1Yi00YTUzLTkyMTItYjA5Y2JmMWE1NjBjL3RsY2hhcmdlbWVudC5qcGc/WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ29udGVudC1TaGEyNTY9VU5TSUdORUQtUEFZTE9BRCZYLUFtei1DcmVkZW50aWFsPUFLSUFUNzNMMkc0NUVJUFQzWDQ1JTJGMjAyMjAzMjIlMkZ1cy13ZXN0LTIlMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjIwMzIyVDE4MTIxMlomWC1BbXotRXhwaXJlcz0zNjAwJlgtQW16LVNpZ25hdHVyZT04ZGU4OGI2ZTU0NGQ2NTRjNGE0ODhhOTljMTljZjcxNDEyOTk5OWQ2NGQ3YzgwYmZkY2Y1ODYyNDcwMmQxNzFjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZ4LWlkPUdldE9iamVjdA==",
"personFields": "addresses,ageRanges,biographies,birthdays,calendarUrls,clientData,coverPhotos,emailAddresses,events,externalIds,genders,imClients,interests,locales,locations,memberships,metadata,miscKeywords,names,nicknames,occupations,organizations,phoneNumbers,photos,relations,sipAddresses,skills,urls,userDefined,fileAses"
}
I have tried both with content-type "multipart/form-data" and "application/json" but I does not change anything.
This is a typical response body I keep having but I do not know how to interpret it:
{
"error": {
"code": 400,
"message": "Invalid photo format",
"status": "INVALID_ARGUMENT"
}
}
Can you please help me into solving this issue, please ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解码您的
photoBytes
base64 值会产生以下开头的网址:https://s3.us-west-2.amazonaws.com/
(该网址返回“AccessDenied”,但这不是问题)您不应该发送照片的网址,而应发送实际的照片如文档所述,原始照片字节。
尝试发送此示例:
Decoding your
photoBytes
base64 value results in a url that starts with:https://s3.us-west-2.amazonaws.com/
(and that url returns "AccessDenied" but that's not the issue)You should not be sending a url to a photo but the actual raw photo bytes as the documentation states.
Try sending this as an example: