我正在使用FQL查询Facebook Insights table并将数据返回到我的服务器,我计划将它存储在MySQL数据库中。MySQL数据库结构 - 存储Facebook FQL结果
我发现所有Insights指标都为值字段返回不同的数据类型。例如,像application_installation_adds将返回这样的值:
Array
(
[0] => stdClass Object
(
[metric] => application_installation_adds
[value] => 3
)
)
..while度量像application_permission_views_top将返回这一点,如果有数据:
Array
(
[0] => stdClass Object
(
[metric] => application_permission_views_top
[value] => stdClass Object
(
[permissions_impression_email] => 5
[permissions_impression_user_birthday] => 4
[permissions_impression_read_insights] => 4
)
)
)
..和这如果它是空的:
Array
(
[0] => stdClass Object
(
[metric] => application_permission_views_top
[value] => Array
(
)
)
)
鉴于不同的数据类型pes和值,我想知道在我的数据库中存储这些数据的最佳方式是什么。
我想建立一个表像这样的:
- METRIC_NAME
- metric_subname
- 值
,然后使用这样的过程:
- 获取FQL结果。
- 如果它是一个空数组,则什么都不做(因为没有数据)。
- 如果它是单个值,则插入metric_name和value。给metric_subname一个值“Singlular”(以便我知道它只是一个值的度量)。
- 如果它是stdCLass对象,则使用foreach循环来填充metric_subname列。
这应该给我,像这样的表,这将让我来查询数据以简单的方式走下赛场:http://i.stack.imgur.com/0fekJ.png
谁能请提供反馈?这是一个好方法吗?还是有更好的选择?
在此先感谢! :)
为什么你想坚持数据而不是缓存它? – zerkms 2011-04-17 04:44:49
对于某些指标,FQL仅给出当前值。例如。如果我查询了我的粉丝页面,它会给我目前的粉丝数量。我想将FQL结果存储在数据库中的原因是为了让我可以获得有关我的粉丝如何在一天中成长的历史记录等。 – dbau 2011-04-17 06:04:54
是否不提供此类统计信息? – zerkms 2011-04-17 06:05:50