beaconinfo.getforobserved总是返回一个空响应

时间:2017-11-28 12:27:27

标签: google-api eddystone google-nearby google-beacon-platform google-proximity-api

这是我的要求。

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调用存在问题?

1 个答案:

答案 0 :(得分:1)

我的理解是,getforobserved无法获取附近的通知附件,只能获取&#34;附件&#34;中定义的附件。 Beacon Dashboard中的部分(由命名空间,类型和值组成)。文档说getforobserved接受*来指定客户端拥有的所有命名空间中的所有类型。对于附近的通知附件,名称空间为com.google.nearby,不属于客户端。这是我最好的理解,但我并不是百分之百确定。

在任何情况下,您的getforobserved请求对我来说都是正确的。您可以通过以下任一方式验证请求是否正常工作:

1)删除&#34; namespacedTypes&#34;完全来自POST数据。在这种情况下,请求不会返回任何附件,但它应该返回信标信息,因此如果请求是正常的,您应该得到非空的答案。

2)将附件(另一种类型而不是附近的通知)添加到信标,并查看请求是否返回了某些内容。如果定义了namespacedTypes但是没有附件,则API将返回空。

Android设备可以在手机上启用时自动获取附近的通知,因此通常不需要手动请求附近的附件。如果要通过API维护附近的通知附件,可以使用API​​中提供的其他方法(例如list方法)。如果你想扫描信标并获取附件,我会使用普通的附件,它可以提供更多的内容灵活性。