2011-10-21 62 views
1

FB圖形API 似乎總是返回「城市,國家」爲「當前城市」和「故鄉」的美國字段,但似乎總是返回「城市,國家」在美國以外的任何地方。獲取當前城市所在國家或地區來自Facebook的圖形API

這是一個可靠的假設嗎?除美國之外還有其他國家會返回「城市,州」嗎? FB文檔(https://developers.facebook.com/docs/reference/api/user/)沒有解釋這一點,我有點猜測我的方式。

+0

另一個有趣的地方......有時Facebook會爲非美國(如巴黎,法國)返回「城市,國家」,但有時它似乎會返回「地區,城市,國家」(如新宿區,東京,日本)。呃...只是把我所有的代碼都封裝在if循環中,查找狀態名稱以確定是否爲外來的。不漂亮,但它的工作原理.. – rICh

回答

4

我會使用FQL和查詢user表爲current_location字段,它會返回一個更全面,結構合理的反應:使用新的fql

SELECT current_location FROM user WHERE uid=me() 

您可以嘗試在Facebook的圖形API探險終點。這將返回類似:

{ 
    "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" 
     } 
    } 
    ] 
} 

通知的citystatecountry領域是否有與不一致name場一起。

相關問題