2

たとえば、この FQL マルチクエリ:

https://graph.facebook.com/fql?q={"posts":"SELECT actor_id,message,permalink,created_time,comments.count FROM stream WHERE source_id=me()","actors":"SELECT uid,name,pic_square,profile_url FROM user WHERE uid IN (SELECT actor_id FROM #posts)"}

Graph API Explorerでは完全に機能しますが、ブラウザに直接配置すると、次のようになります。

{
        "error": {
        "message": "(#601) Parser error: unexpected '{' at position 0.",
        "type": "OAuthException"
    }
}

ここで何が欠けていますか?再び、API で Facebook によって廃止されたものはありますか? Javascript SDK を使用せずに、GET (実際には最後に JSONP を使用) を使用して FQL マルチクエリを実行したいと考えています。

ちなみに、私はそれが認証/アクセストークンの問題ではないと確信しています.

4

2 に答える 2

8

parameter の値を URL エンコードしますq:#URL の特殊文字です。例:

https://graph.facebook.com/fql?q=%7B%22posts%22%3A%22SELECT%20actor_id%2Cmessage%2Cpermalink%2Ccreated_time%2Ccomments.count%20FROM%20stream%20WHERE%20source_id%3Dme%28%29%22%2C%22actors%22%3A%22SELECT%20uid%2Cname%2Cpic_square%2Cprofile_url%20FROM%20user%20WHERE%20uid%20IN%20%28SELECT%20actor_id%20FROM%20%23posts%29%22%7D

PHP を使用している場合は、次のようなものを使用します。

$url = 'https://graph.facebook.com/fql?q=' . urlencode($my_fql_query);
于 2011-11-04T17:12:32.830 に答える
0

使用する必要があります: https ://graph.facebook.com/fql?queries= ..。

'q'は使用せず、パラメーター名'queries'を使用してください。

于 2012-10-23T01:45:56.630 に答える