2015-09-16 7 views
10

複数のメトリックグラフAPIのフィールド拡張を結合する方法は?

https://graph.facebook.com/v2.4/69999732748?fields=insights.metric(page_fan_adds_unique,page_fan_adds,page_fan_adds_by_paid_non_paid_unique)&access_token=XYZ&period=day&since=2015-08-12&until=2015-08-13

を照会するために、この構文を使用している場合、私は尋ねた場合、私は常に以来となるまでパラメータ

https://graph.facebook.com/v2.4/69999732748/insights/page_fan_adds_unique?period=day&access_token=XYZ&since=2015-09-10&until=2015-09-11

の値の最後の3日間のregardnessのためのデータを取得単一のメトリックの場合、日付パラメータが有効になります。

日付パラメータを受け入れる複数の統計情報をリクエストするための構文がありますか?

+0

最初のAPI呼び出しは私には似ていません:グラフAPIのエッジとして 'insights'を使用してください(あなたのやっていることではありません)。そうすることで異なる結果が得られるかどうかを確認してください。 – derabbink

+0

私のクエリは正常に動作します - 日付を無視します。 insights.metrics()パターンを使用して、複数の洞察基準を照会します。 –

答えて

4

私は、これは動作するはずだと思う:

curl -G \ 
-d "access_token=PAGE_TOKEN" \ 
-d "fields=insights.metric(page_fan_adds_unique,page_fan_adds,page_fan_adds_by_paid_non_paid_unique).since(2015-08-12).until(2015-08-13).period(day)" \ 
-d "pretty=1" \ 
"https://graph.facebook.com/v2.4/me" 

あなたがページのinsightsフィールドなどを要求しています。このフィールドには、dataアレイ(insights.data)の結果リストが含まれています。このアレイをフィルタリングする必要があります。

それを行う方法はそうのように要求されたinsightsフィールドにパラメータ化を連結することである:

fields=insights 
    .filter1(params) 
    .filter2(params) 
    .filter3(params) 

.filterX(params)は、それに先立つ特定のフィールドに適用されます。
わかりやすくするために改行と字下げを追加しましたが、実際の要求では空白を含めずに1行にすべて連結します。

+0

クール!だから私はそれがどこに書かれているのでしょうか? –

+0

私がまだ解明しようとしていることの1つは、これらの2つのアプローチを比較するときに利点と欠点があることです。 )(2015年8月13日).period(日) 対... /洞察/ page_fan_adds_unique、page_fan_adds?期間=日.until&= 2015年9月12日&まで= 2015年9月13日 ので、私はことを知っています最初に私は追加の非洞察フィールドを要求することができました。しかし、単に洞察を得ているのであれば、本当に違いはありますか? –

+0

これは文書化されていないため、サポートされていません。前者の利点は、これが機能する限り、バッチリクエストを使用せずに、単一のリクエストであらゆる種類の洞察を得ることができるということです。後者の利点は、正式にサポートされていることです。そのため、壊れた場合はFacebookでバグを報告できます。私は["Using the Graph API"](https://developers.facebook.com/docs/graph-api/using-graph-api/v2.5)を読んでこれを試してみる考えがありました。 – derabbink

関連する問題