这是我的要求。
POST https://proximitybeacon.googleapis.com/v1beta1/beaconinfo:getforobserved?key=<API_KEY>
使用POST数据
{
"observations": [
{
"advertisedId": {
"type": "EDDYSTONE",
"id": "XcM0h/AuR31AWAEXxV59Xw=="
},
"timestampMs": "2017-11-28T12:11:23.045123456Z"
}
],
"namespacedTypes": [
"*"
]
}
我检查了信标仪表板,看看信标是否有任何附件。它有一个附近的通知附件我想用这种方法获取。
十六进制的beaconID为5dc33487f02e477d40580117c55e7d5f
。
我提到这个guide寻求帮助,但考虑到namespacedTypes应该是一个数组并且它是博客中的一个字符串,看起来他们提出的请求似乎是错误的。
以下是API的documentation。
更新
如果我执行Proximity API list附件调用,我会获得相同信标的以下结果
[
{
"data":"eyJ1cmwiOiAiaHR0cHM6Ly9xLmVkZHkucHJvLzhsMkl3SiIsICJkZXNjcmlwdGlvbiI6ICJTb21lIiwgInRpdGxlIjogIlNvbWUifQ==",
"creationTimeMs":"2017-12-01T18:15:37.418Z",
"attachmentName":"beacons/3!5dc33487f02e477d40580117c55e7d5f/attachments/58dad403-7a99-4085-b338-5fe0b6660abd",
"namespacedType":"com.google.nearby/en"
}
]
这是否表示beaconinfo:getforobserved
API调用存在问题?
答案 0 :(得分:1)
我的理解是,getforobserved无法获取附近的通知附件,只能获取&#34;附件&#34;中定义的附件。 Beacon Dashboard中的部分(由命名空间,类型和值组成)。文档说getforobserved接受*来指定客户端拥有的所有命名空间中的所有类型。对于附近的通知附件,名称空间为com.google.nearby,不属于客户端。这是我最好的理解,但我并不是百分之百确定。
在任何情况下,您的getforobserved请求对我来说都是正确的。您可以通过以下任一方式验证请求是否正常工作:
1)删除&#34; namespacedTypes&#34;完全来自POST数据。在这种情况下,请求不会返回任何附件,但它应该返回信标信息,因此如果请求是正常的,您应该得到非空的答案。
2)将附件(另一种类型而不是附近的通知)添加到信标,并查看请求是否返回了某些内容。如果定义了namespacedTypes但是没有附件,则API将返回空。
Android设备可以在手机上启用时自动获取附近的通知,因此通常不需要手动请求附近的附件。如果要通过API维护附近的通知附件,可以使用API中提供的其他方法(例如list方法)。如果你想扫描信标并获取附件,我会使用普通的附件,它可以提供更多的内容灵活性。