facebook - FQL 多查询与 HTTP GET - 在 Graph API 资源管理器中工作但在其他任何地方都不工作?

标签 facebook get facebook-fql fql.multiquery

这个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"
    }
}

我在这里错过了什么? Facebook 在他们的 API 中又弃用了一些东西吗? 我想使用 GET(实际上最后使用 JSONP)进行 FQL 多查询 - 使用 Javascript SDK。

顺便说一下,我确定这不是 authorization/access_token 问题。

最佳答案

URLEncode参数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);

关于facebook - FQL 多查询与 HTTP GET - 在 Graph API 资源管理器中工作但在其他任何地方都不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8013118/

相关文章:

android - 从 Android 应用程序检查 Facebook 帖子是否成功

javascript - GET 请求使用 Basic Auth 从 Postman 工作,而不是从浏览器工作

javascript - 您将如何使用此脚本来获取/设置 cookie?小脚本

javascript - FQL 选择列名 "AS"别名

javascript - 如何在 2.7 版中获取 Facebook 分享数和评论数

android - 如何在 android 中从 Facebook 获取用户电子邮件 ID、用户名

facebook - 使用 Facebook Sharer 分享多张图片

facebook-graph-api - 如何编写 FQL 来获取新闻提要

iphone - 通过 iPhone 提交链接 -> Facebook Connect

sql - 如何从雪花数据库中的Varchar "JSON Array"中选择元素?