我正在尝试使用浏览器获取facebook fql查询,我有一个有效的oauth令牌(我可以使用它进行图形api调用)。
这是我试过的网址:
https://api.facebook.com/method/fql.query?query=SELECT metric, value FROM insights WHERE object_id=89192912655 AND end_time=1280430050 AND period=86400 AND metric='page_fans'&access_token=?
我还尝试首先通过sql编码器运行fql查询:
https://api.facebook.com/method/fql.query?query=SELECT%20metric%2C%20value%20FROM%20insights%20WHERE%20object_id%3D89192912655%20AND%20end_time%3D1280430050%20AND%20period%3D86400%20AND%20metric%3D'page_fans'&access_token=?
我尝试了一些其他指标,我也可以通过图表api获取指标,所以我知道它们就在那里。
我确定我做了一些愚蠢的事情,但我现在已经被困了一段时间了!每次通话都会返回:
<?xml version="1.0" encoding="UTF-8"?>
<fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true"/>
也许我的日期有问题,我用它来得到日期:(红宝石)
t = Time.now
=> Tue Aug 03 15:00:50 -0400 2010
>> t = t - 5.days
=> Thu Jul 29 15:00:50 -0400 2010
>> t.to_i
=> 1280430050
任何想法?
答案 0 :(得分:5)
例如,您现在可以使用以下方式查询数据洞察表:
SELECT metric, value FROM insights
WHERE object_id = YOUR_APP_ID AND
metric = 'application_active_users' AND
end_time = end_time_date('2010-09-01') AND
period = period('day');
我们会尽快记录这些功能,抱歉给您带来不便!
P.S。如果您不想使用end_time_date()函数,请确保查询中的end_time时间戳与PST中的日期分隔符保持一致。
谢谢!
Facebook见解小组
答案 1 :(得分:1)
您看到的响应是空响应,并不一定意味着没有可用的指标数据。一些可能导致这种情况的想法:
虽然我没有使用过见解表,但使用Facebook的FQL告诉我不要错过错误消息,错误代码但是请尝试按照文档(如果有的话)然后试验它......
至于日期,今天午夜使用以下红宝石片段:
Date.new(2010,9,14).to_time.to_i
我还在Graph API文档页面上找到了以下内容:
<强>模拟强>
您可以通过请求“manage_pages”扩展权限来模拟用户管理的网页。
一旦用户授予您的应用程序“manage_pages”权限,“accounts”连接将为当前用户管理的每个页面生成额外的access_token属性。这些access_tokens可用于代表页面进行调用。用户授予您的应用程序的权限现在也适用于他们的页面。 (source)
您是否尝试过请求此权限并在图谱API查询中使用&amp; metadata = 1来获取每个帐户的访问令牌?
答案 2 :(得分:0)
如果您想知道Facebook页面的粉丝数量,请使用以下内容:
https://graph.facebook.com/cocacola
回复包含fan_count
属性。
答案 3 :(得分:0)
我不确定日期是否正确。你真的希望日期为整数吗? 通常SQL以db-format格式化日期,因此要格式化它,您可以使用:
Date.new(2010,9,14).to_s(:db)
(Time.now - 5.days).to_s(:db)
# or even better:
5.days.ago.to_s(:db)
答案 4 :(得分:0)
如果像我一样,你从另一个FQL语句中获取此信息后来到这里,那么你的问题不包括access_token参数,例如
(您可以使用fb.getAccessToken())