2011-10-21 2 views
1

FB 그래프 API를 는 항상 "현재의 도시"와 "고향"의 미국 필드 "도시, 주"를 반환에 보이지만 항상 반환 것 같다 "도시, 국가" 미국 이외의 모든 것에.

신뢰할 수있는 가정입니까? "도시, 주"를 반환 할 다른 국가가 있습니까? FB Docs (https://developers.facebook.com/docs/reference/api/user/)는 이것을 설명하지 않으며, 나는 이것에 대한 내 방식을 추측하고 있습니다.

+0

재미있는 또 다른 재미 ... 때때로 Facebook은 미국 이외의 지역 (파리, 프랑스 등)의 "도시, 국가"를 반환하지만 다른 경우에는 "지역, 도시, 국가"(예 : 신주쿠 구, 도쿄 ,일본). Ugh ... 그냥 국가 이름에 대한 조회와 함께 루프에있는 모든 코드를 래핑하여 외국을 결정합니다. 예쁘지 않지만 작동합니다. – rICh

답변

4

나는 FQL을 사용하고보다 포괄적이고 잘 구조화 된 응답을 반환 할 것 current_location 필드의 user 테이블을 조회 할 것이다 : fql 새로운를 사용하여

SELECT current_location FROM user WHERE uid=me() 

당신은 시도 할 수는 페이스 북 그래프 API 탐색기에서입니다 종점. city, statecountry 필드는 일관성name 필드와 함께있다

{ 
    "data": [ 
    { 
     "current_location": { 
     "resultType": { 
      "fieldTypes": { 
      "street": { 
       "strict": false 
      }, 
      "city": { 
       "strict": false 
      }, 
      "state": { 
       "strict": false 
      }, 
      "country": { 
       "strict": false 
      }, 
      "zip": { 
       "strict": false 
      }, 
      "latitude": { 
       "min": null, 
       "max": null, 
       "strict": false 
      }, 
      "longitude": { 
       "min": null, 
       "max": null, 
       "strict": false 
      }, 
      "id": { 
       "min": null, 
       "max": null, 
       "strict": false 
      }, 
      "name": { 
       "strict": false 
      } 
      }, 
      "includeNullFields": false 
     }, 
     "street": null, 
     "city": "Beirut", 
     "state": "Beyrouth", 
     "country": "Lebanon", 
     "zip": "", 
     "latitude": null, 
     "longitude": null, 
     "id": 106188806084417, 
     "name": "Beirut, Lebanon" 
     } 
    } 
    ] 
} 

주의 사항 : 뭔가를 반환한다.