2015-10-13 123 views
3

我正在研究一个基于php的网站,并在其中整合了一些facebook sdk以获得一些基本的用户信息。我遇到的一件事情是,当我向图表发出请求时,如何知道应该使用getGraphObject还是getGraphEdge?我没有看到任何直觉,但没有告诉我这一点。你什么时候使用getGraphObject和getGraphEdge

我运行PHP-sdk4 - >版本5

下面是我碰到了昨晚一个例子..

$response = $fb->get('/me/friends', $fbToken); 
$fbfriends = $response->getGraphEdge()->asArray(); 

documentation,如果你看看php的例子,他们使用getGraphObject。但是当我使用它时,我得到一个错误,告诉我我应该使用Edge。有很多“获取”功能,但我没有看到任何告诉我如何知道要使用什么的东西。 getGraphObject,getGraphEdge,getGraphUser等。我很想深入了解这个,因为这对我来说是一个猜谜游戏。

回答

4

基本上,当:

  • 获取/{node-id},你应该使用getGraphNode()getGraphObject()已过时)
  • 获取/{node-id-with-known-type},你应该使用getGraph{Type}()
    例如,获取/me然后用getGraphUser(),越来越/{event-id}然后用getGraphEvent()
  • 获取/{node-id}/{edge-name},你应该使用getGraphEdge()getGraphList()已过时)
  • 获取/{node-id}/{edge-name-with-children-known-type},你应该使用getGraphEdge({children-type-class})
    例如,获取/me/albums然后使用getGraphEdge('GraphAlbum')
    节点类名称位于Facebook\GraphNodes命名空间中。
+0

这真的很有帮助。在这方面寻找关于这个问题的文档是一个很大的挑战,因为那里有太多旧的折旧文档。 –