相关疑难解决方法(0)

如何处理FQL返回的大int facebook uid?

我在处理facebook的大用户标识并将其正确存储到我的数据库中时遇到了问题.

由于fql.query REST api将被弃用,我正在使用GRAPH API来获取FQL的结果.

我想得到我的朋友的名单,性别,relationship_status.

我执行的查询是

$allFriends = $facebook->api("/fql
    ?q=SELECT+uid,+name,+sex,+relationship_status+FROM+user+where+uid+in+
    (SELECT+uid2+FROM+friend+WHERE+uid1+=$fbuid)"
);
Run Code Online (Sandbox Code Playgroud)

我在Graph API资源管理器中尝试了以上操作,结果是这样的,

  {
  "data": [
     {
      "uid": 100003082853071, 
      "name": "Sam jones", 
      "sex": "male", 
      "relationship_status": null
     }  
   ]
  }
Run Code Online (Sandbox Code Playgroud)

请注意,uid以int形式返回,因此每当我打印数组本身时,它的值都为(1.34234422 + E03).因此,即使该阵列的json_encode也无济于事.

但是,当我直接调用GRAPH API之类的graph.facebook.com/1585213/friends"返回数据"时

{
  "data": [
    {
      "name": "Vijay Kannan", 
      "id": "102937142343"
    }
  ]  
}
Run Code Online (Sandbox Code Playgroud)

请注意,id以字符串形式返回..

每当我使用图形API调用FQL查询时,它都会将整个数据作为" 数组 "返回,因此长大的facebook uid会转换为浮点数(1.34234422 + E03).

我如何将它们转换为适当的uid并存储/处理它们.

我认为FQL和GRAPH API调用的不一致也应该由Facebook照顾.但我不能等待!

有什么想法吗?

facebook facebook-fql facebook-graph-api

1
推荐指数
1
解决办法
1945
查看次数