0

我想知道如何使用下面的FQL查询使用PHP的Facebook SDK(或者,如果可能的另一种方式)使用facebook SDK for php进行FQL查询?

https://graph.facebook.com从我的Facebook的收件箱中收到一条消息// FQL q = SELECT +机身+ FROM +消息+ WHERE ++ mssage_id = “XXXXXXXXXXXXXXXXX_XXX” &的access_token = ...

(返回JSON结果)

OR

HTTPS ://api.facebook.co米/方法/ fql.query?查询= SELECT +机身+ FROM +消息+ WHERE + MESSAGE_ID = “XXXXXXXXXXXXXXXXX_XXX” &的access_token = ...

(返回XML结果)

这两种方法需要一个访问令牌为read_mailbox权限。我需要的只是使用php来获得结果。任何帮助?

谢谢。

回答

1

最灵活的方法是使用PHP SDK的api方法。 Facebook documentation site has examples of this

如果你已经有一个访问令牌,该代码将让你的数据到一个PHP数组:

<?php 
$query = 'SELECT body FROM message WHERE message_id = "?????????????_??"'; 
$token = '????'; 
$result = json_decode(file_get_contents('https://graph.facebook.com/fql?q=' . 
    urlencode($query) . '&access_token=' . $token)); 
printf('<pre>%s</pre>', print_r($result, true)); 

是你需要的访问令牌。如果您正在尝试阅读随机用户的邮箱,则需要安装应用程序,然后您必须按照authentication workflows中的某个步骤登录到您的应用程序,并为您提供read_mailbox权限。

+0

嗯,我想阅读我自己的收件箱,我有正确的访问令牌与read_mailbox权限。这只是在facebook之前,file_get_contents函数从未为我工作过,就像您提供的小代码示例一样。 – 2012-08-15 00:36:32

+0

它不起作用?你至少应该得到一个错误。 – cpilko 2012-08-15 00:42:53

+0

什么也没有返回,空白! 你可以试试 – 2012-08-15 00:49:53