foursquare场景结果locale

时间:2016-11-14 21:47:39

标签: json http foursquare

https://developer.foursquare.com/overview/versioning它说:

  

您可以通过在请求中设置Accept-Language HTTP标头来指定区域设置。或者,您可以在请求中添加locale = XXX参数,但首选HTTP标头规范。我们目前支持en(默认),es,fr,de,it,ja,th,tr,ko,ru,pt和id。

  

如果没有指定任何内容,对于地理实体(例如,城市名称),我们将回归使用该国家/地区最受欢迎的语言。

现在,我们如何获得API结果的语言环境?如果我使用tr区域设置进行查询,则可能会使用en或其他后备区域设置回复我。我无法在结果内部和响应标题中找到它。

我需要这个来缓存并向用户显示正确的数据。例如,我的网站的后备语言为en,但API可能会以de为例。

感谢。

修改以下是我试图说明的一个例子;

URL:

https://api.foursquare.com/v2/venues/4adcda50f964a520354121e3
?client_id=[client_id]&client_secret=[client_secret]&v=20161115&locale=tr

接头:

array (
   'Accept-Language' => 'tr',
   'Accept' => 'application/json'
)

结果(裁剪一些不相关的项目):

{
  "meta": {
    "code": 200,
    "requestId": "582bfe9e1ed21964a18d3aab"
  },
  "response": {
    "venue": {
      "id": "4adcda50f964a520354121e3",
      "name": "La Pedrera (Casa Milà) (Casa Milà 'La Pedrera')",
      "contact": {
        "phone": "+34902202138",
        "formattedPhone": "+34 902 20 21 38",
        "twitter": "catfundacio",
        "facebook": "429182007214758",
        "facebookUsername": "lapedrera.barcelona",
        "facebookName": "La Pedrera-Casa Milà"
      },
      "location": {
        "address": "Pg. Gràcia, 92",
        "crossStreet": "Carrer Provença",
        "lat": 41.39509128050475,
        "lng": 2.1618343621091296,
        "postalCode": "08008",
        "cc": "ES",
        "city": "Barselona",
        "state": "Cataluña",
        "country": "İspanya",
        "formattedAddress": [
          "Pg. Gràcia, 92 (Carrer Provença)",
          "08008 Barselona Catalonia",
          "İspanya"
        ]
      },
      "canonicalUrl": "https:\/\/foursquare.com\/v\/la-pedrera-casa-mil%C3%A0\/4adcda50f964a520354121e3",
      "categories": [
        {
          "id": "4bf58dd8d48988d12d941735",
          "name": "Anıt \/ Abide",
          "pluralName": "Anıtlar \/ Abideler",
          "shortName": "Abide",
          "icon": {
            "prefix": "https:\/\/ss3.4sqi.net\/img\/categories_v2\/building\/government_monument_",
            "suffix": ".png"
          },
          "primary": true
        },
        {
          "id": "4bf58dd8d48988d130941735",
          "name": "Bina",
          "pluralName": "Binalar",
          "shortName": "Bina",
          "icon": {
            "prefix": "https:\/\/ss3.4sqi.net\/img\/categories_v2\/building\/default_",
            "suffix": ".png"
          }
        }
      ],      
      "description": "La Pedrera (Casa Milà) és un edifici construït per Antoni Gaudí i declarat Patrimoni de la Humanitat. Actualment és la seu de la Fundació Catalunya-La Pedrera.",
      "storeId": "",
      "tags": [
        "gallery",
        "gaudi",
        "modernisme",
        "museum",
        "photobooth",
        "sicted"
      ],
      "shortUrl": "http:\/\/4sq.com\/72NCMi",
      "timeZone": "Europe\/Madrid",
      "hours": {
        "status": "09:00'e kadar kapalı",
        "isOpen": false,
        "isLocalHoliday": false,
        "timeframes": [
          {
            "days": "Pzt\u2013Paz",
            "includesToday": true,
            "open": [
              {
                "renderedTime": "09:00\u201321:00"
              }
            ],
            "segments": [

            ]
          }
        ]
      },
      "attributes": {
        "groups": [
          {
            "type": "wifi",
            "name": "Kablosuz Bağlantı",
            "summary": "Ücretsiz Wi-Fi",
            "count": 1,
            "items": [
              {
                "displayName": "Kablosuz Bağlantı",
                "displayValue": "Ücretsiz"
              }
            ]
          }
        ]
      },
      "bestPhoto": {
        "id": "55672a92498ec352981dd144",
        "createdAt": 1432824466,
        "source": {
          "name": "Foursquare Web",
          "url": "https:\/\/foursquare.com"
        },
        "prefix": "https:\/\/irs2.4sqi.net\/img\/general\/",
        "suffix": "\/39082263_M0PK-NTv3A-0tI4j_aEIp5k6BEkliQTkMXS9TIPg_NQ.jpg",
        "width": 620,
        "height": 478,
        "visibility": "public"
      }
    }
  }
}

addresses, categories, some of the names, timeframes, attributes部分实际上是土耳其语,但描述和大部分名称都采用后备/本地语言,在这种情况下为西班牙语

1 个答案:

答案 0 :(得分:0)

API响应中未指定区域设置。

如果您未在Accept-Language HTTP标头中指定任何内容,则响应将默认为该国家/地区最受欢迎的语言。但是,如果您指定了本地API,则不会回退到其他任何内容。

如果您网站的语言是英语,则可以在en HTTP标头中指定Accept-Language,API也会为您提供英语。