Google api 无法使用Google My Business API更新位置
一段时间以来,我一直在尝试建立一个工作补丁请求,以便通过Google My Business API更新位置,但我还没有提出成功的请求 这是我最后一次尝试请求时的样子:Google api 无法使用Google My Business API更新位置,google-api,patch,google-my-business-api,Google Api,Patch,Google My Business Api,一段时间以来,我一直在尝试建立一个工作补丁请求,以便通过Google My Business API更新位置,但我还没有提出成功的请求 这是我最后一次尝试请求时的样子: { location": { "primaryPhone": "1-800-TEST" }, "languageCode": "en", "fieldMask": "primaryPhone", "validateOnly": true } 当我省略类似fieldMask的内容时,我会得到一个错误,
{
location": {
"primaryPhone": "1-800-TEST"
},
"languageCode": "en",
"fieldMask": "primaryPhone",
"validateOnly": true
}
当我省略类似fieldMask的内容时,我会得到一个错误,表示未设置address.country,但如果存在它,我会得到以下错误:
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}
信息量不大:p
知道我做错了什么吗?有人有工作样品要求吗?最好是更新开放时间:我在这里结束时正在寻找一个例子,然后再让它发挥作用。所以,迟做总比不做好,这里有一个有效的答案 描述如何处理请求的字段与进入该位置的数据之间存在区别。前者追求的是什么?在URL中。后者进入体内 因此,您应该发布:
PATCH https://mybusiness.googleapis.com/v3/accounts/$accountId/locations/$locationId?languageCode=en&fieldMask=primaryPhone&validateOnly=true
包括:
{"primaryPhone": "1-800-TEST"}
假设您有一个有效的授权头,这应该会起作用。很难帮助您查看代码,但是。尝试并执行一个locations.get,它将返回一个location body,对其进行更改并将其修补回来。我认为您需要设置所有无法拾取和选择的字段。据我所知,如果我使用fieldMask属性指定哪些字段:要更新的特定字段,我应该只能提交需要更新的字段。如果未指定掩码,则这将被视为完全更新,所有字段都设置为传入的值,其中可能包括请求中未设置的空字段。字段的完全限定名的逗号分隔列表。示例:user.displayName,photo.The代码也不是很有趣,例如GET请求工作正常-我几乎可以肯定请求的主体有问题,但是我还没有弄清楚是什么:这是一个理论,我从来没有通过只发送几个字段来让它工作,但是发送所有内容都可以。那么这可能是个问题,它不是HTTP Get请求,而是HTTP补丁请求。