【问题标题】:Facebook Graph API: Parser error: unexpected end of queryFacebook Graph API:解析器错误:查询意外结束
【发布时间】:2014-02-25 23:58:13
【问题描述】:

我正在尝试使用多查询 FQL 方法检索 facebook 洞察数据,但无济于事。我已按照 Facebook 的 site 上的说明进行操作。

是否有人知道可能遗漏了什么或做错了什么?

查询(使用 Graph API Explorer 工作)

SELECT metric, value FROM insights WHERE object_id=310852659027337 AND metric='page_views' AND period=86400 AND end_time=end_time_date('2014-01-16')

SELECT metric, value FROM insights WHERE object_id=310852659027337 AND metric='page_views_unique' AND period=86400 AND end_time=end_time_date('2014-01-16')

请求网址

https://graph.facebook.com/fql?access_token=access_token&format=json&queries=%7B%22page_views%22%3A+%22SELECT+metric%2C+value+FROM+insights+WHERE+object_id%3D310852659027347+AND+metric%3D%27page_views%27+AND+period%3D86400+AND+end_time%3Dend_time_date%28%272014-01-16%27%29%22%2C+%22page_views_unique%22%3A+%22SELECT+metric%2C+value+FROM+insights+WHERE+object_id%3D310852659027347+AND+metric%3D%27page_views_unique%27+AND+period%3D86400+AND+end_time%3Dend_time_date%28%272014-01-16%27%29%22%7D

请求网址(已解码)

https://graph.facebook.com/fql?access_token=access_token&format=json&queries={"page_views": "SELECT metric, value FROM insights WHERE object_id=310852659027347 AND metric='page_views' AND period=86400 AND end_time=end_time_date('2014-01-16')", "page_views_unique": "SELECT metric, value FROM insights WHERE object_id=310852659027347 AND metric='page_views_unique' AND period=86400 AND end_time=end_time_date('2014-01-16')"}

回应

{"error":{"message":"(#601) Parser error: unexpected end of query.","type":"OAuthException","code":601}}

【问题讨论】:

    标签: facebook facebook-graph-api facebook-fql fql.multiquery


    【解决方案1】:

    https://graph.facebook.com/fql?access_token=access_token&format=json&queries={"page_views": "SELECT metric, value FROM 洞察 WHERE object_id=310852659027347 AND metric='page_views' AND period=86400 AND end_time=end_time_date('2014-01-16')", "page_views_unique": "SELECT 指标,来自洞察力的价值 WHERE object_id=310852659027347 AND metric='page_views_unique' AND period=86400 AND end_time=end_time_date('2014-01-16')"}

    没有这个名为queries的参数名,正确的参数名是q,即

    https://graph.facebook.com/fql?access_token=access_token&format=json&q={"page_views": "SELECT metric, value from insights WHERE object_id=310852659027347 AND metric='page_views' AND period=86400 AND end_time=end_time_date('2014-01-16')", "page_views_unique" : "SELECT metric, value FROM Insight WHERE object_id=310852659027347 AND metric='page_views_unique' AND period=86400 AND end_time=end_time_date('2014-01-16')"}

    文档:https://developers.facebook.com/docs/technical-guides/fql/

    【讨论】:

    • 那行得通。谢谢。 facebook api 文档包含不正确的信息。它提到传递一个名为“查询”(developers.facebook.com/docs/technical-guides/fql)的查询参数。 Facebook 的 API 文档说“在一次调用中评估一系列 FQL(Facebook 查询语言)查询并一次返回数据。此方法采用名为 ''queries'' 的 JSON 编码字典,其中各个查询使用完全相同的语法作为一个简单的查询。”
    猜你喜欢
    • 1970-01-01
    • 2012-08-15
    • 2016-06-14
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2017-06-25
    相关资源
    最近更新 更多