HERE Places API:并非所有商品都有PVID

时间:2017-09-22 11:25:08

标签: api here-api

我正在使用HERE Places API。

首先,我正在进行搜索。

例如此查询:

https://places.cit.api.here.com/places/v1/discover/search?q=Test&at=35.6111,-97.5467&r=500&size=1&app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&show_refs=pvid&pretty

根据此文档(Link)如果我将show_refs=pvid添加到查询字符串,结果我将获得外部id,我可以使用它来查询lookup端点。

但结果我得到了下一个回复:

    {
    "results": {
        "next": "https://places.cit.api.here.com/places/v1/discover/search;context=Zmxvdy1pZD1hY2ExNzk3NC0zYzg3LTU5NzQtYmZkMC04YjAzMDZlYWIzMWJfMTUwNjA3NjMzMTYyMl83NDY3XzM4NTAmb2Zmc2V0PTEmc2l6ZT0x?at=35.6111%2C-97.5467&q=Test&app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg",
        "items": [
            {
                "position": [
                    35.60369,
                    -97.51761
                ],
                "distance": 2756,
                "title": "Southwest Test & Balance",
                "averageRating": 0,
                "category": {
                    "id": "business-services",
                    "title": "Business & Services",
                    "href": "https://places.cit.api.here.com/places/v1/categories/places/business-services?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg",
                    "type": "urn:nlp-types:category",
                    "system": "places"
                },
                "icon": "https://download.vcdn.cit.data.here.com/p/d/places2_stg/icons/categories/02.icon",
                "vicinity": "200 NW 132nd St<br/>Oklahoma City, OK 73114",
                "having": [],
                "type": "urn:nlp-types:place",
                "href": "https://places.cit.api.here.com/places/v1/places/8403fv6k-d1b2fde0616e0326e321a54b88cd9f53;context=Zmxvdy1pZD1hY2ExNzk3NC0zYzg3LTU5NzQtYmZkMC04YjAzMDZlYWIzMWJfMTUwNjA3NjMzMTYyMl83NDY3XzM4NTAmcmFuaz0w?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg",
                "id": "8403fv6k-d1b2fde0616e0326e321a54b88cd9f53",
                "authoritative": true
            }
        ]
    },
    "search": {
        "context": {
            "location": {
                "position": [
                    35.6111,
                    -97.5467
                ],
                "address": {
                    "text": "Oklahoma City, OK 73134<br/>USA",
                    "postalCode": "73134",
                    "city": "Oklahoma City",
                    "county": "Oklahoma",
                    "stateCode": "OK",
                    "country": "United States",
                    "countryCode": "USA"
                }
            },
            "type": "urn:nlp-types:place",
            "href": "https://places.cit.api.here.com/places/v1/places/loc-dmVyc2lvbj0xO3RpdGxlPU9rbGFob21hK0NpdHk7bGF0PTM1LjYxMTE7bG9uPS05Ny41NDY3O2NpdHk9T2tsYWhvbWErQ2l0eTtwb3N0YWxDb2RlPTczMTM0O2NvdW50cnk9VVNBO3N0YXRlQ29kZT1PSztjb3VudHk9T2tsYWhvbWE7Y2F0ZWdvcnlJZD1jaXR5LXRvd24tdmlsbGFnZTtzb3VyY2VTeXN0ZW09aW50ZXJuYWw;context=c2VhcmNoQ29udGV4dD0x?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg"
        }
    }
}

作为回应,没有对象references

是不是每个地方都有这个外部ID?

2 个答案:

答案 0 :(得分:1)

我作为HERE Places API周围团队的成员做出回应。

是的,并非每个地方都有一个pvid。这就是我建议使用共享ID的原因。我意识到应该改进文档以澄清这一点。

可以通过将show_refs=sharing添加到search queryplace details request来获取共享ID。它可以在字段references中找到。获得共享ID后,您可以使用intended作为查找端点。

答案 1 :(得分:0)

看看:

https://places.cit.api.here.com/places/v1/places/8403fv6k-d1b2fde0616e0326e321a54b88cd9f53;context=Zmxvdy1pZD00YWU2ZWZjNi01ZjgzLTUwYTQtOTI4OS0xZjliMGMwNWY3NjBfMTUwNzA0NDE0OTc3NV84MTI5XzU1NDcmcmFuaz0w?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&show_refs=pvid

https://places.cit.api.here.com/places/v1/places/8409q8yy-6af3c3e50bcb4f859686797b2be5773d;context=Zmxvdy1pZD00YWU2ZWZjNi01ZjgzLTUwYTQtOTI4OS0xZjliMGMwNWY3NjBfMTUwNzA0NDE0OTc3NV84MTI5XzU1NDcmcmFuaz0w?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&show_refs=pvid

在这两个例子中,唯一的区别是placeId

docs中,没有一个参考文献说每个地方都需要或存在外部标识符。

由于它代表外部标识符,我相信我们可以假设它不是必需的。

这就是我们刚才看到的地方(8403fv6k-d1b2fde0616e0326e321a54b88cd9f53):这个没有任何外部标识符。

根据您的评论,您需要的是有关某个地方的信息。

因此,在运行第一个查询后,您应该得到类似的内容:

{
    title: "Southwest Test & Balance",
    position: [],
    id: "8403fv6k-d1b2fde0616e0326e321a54b88cd9f53",
    href: "https://[...]"
}

使用此ID,您可以访问它:

places.cit.api.here.com/places/v1/places/的 8403fv6k-d1b2fde0616e0326e321a54b88cd9f53 ;上下文= Zmxvdy1pZD0zYTFlZjg5ZS02ZTY5LTUxYmEtYWFkYS1kY2UwZWMyNDdkMDBfMTUwNzEzNjUxNjI5N182NjExXzc2OTgmcmFuaz0w APP_ID = DemoAppId01082013GAL&安培;?的app_code = AJKnXv84fjrb0KIHawS0Tg

或直接使用href信息。

此回复已经为您提供了访问单个地点所有信息的ID和URL 您不需要任何其他外部ID或参考。