我正在使用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