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