2017-11-14 24 views
0

広告insights apiでは、time_incrementを7に設定してエンドポイントに電話をかけようとすると、週ごとにデータがグループ化されます。Facebook Ads Insights:月曜日 - 土曜日の週ではなく、日曜日に集計されたデータを取得する方法は?

ただし、使用する週は月曜から日曜の週です。日曜日から土曜日までにデータをグループ化するにはどうすればよいですか?

さらに、私たちはレポートソリューションプロバイダーであり、世界中に広がっているさまざまなクライアントのデータを取得しています。一部のクライアントは、月曜から日曜の週ごとにデータをグループ化したいと考えています。日曜日から土曜日までにデータをグループ化したい場合があります。だから私は設定可能な何かが不思議だった。

+1

このAPIは数週間気になるとは思えません。最初の日が日曜日になるようにTimeRangesを設定してみてください。あるいは、あなたがそれをあなたが望むやり方で正確に構築する、あらかじめ形成された 'time_ranges'を自分自身に与えることもできます。その他[ここ](https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights/) –

+0

@ M.Prokhorov最初のオプション(TimeRangesを、最初の日が日曜日それが役に立っているかどうかを見てください)。私は2番目のものもうまくいくと思います。ありがとう、トン。 –

+0

さて、私はそれを答えにします –

答えて

0

このAPIパラメータのセマンティクスは、Facebook API自体が1週間のいかなる概念も強制しないことを意味します。

あなたは、パラメータの最初の日は日曜日であるようにあなたの要求にTIMERANGEパラメータを設定する必要がありますので:私はあなたにお任せしますgetClosestSunday(Date)

request: { 
    time_range: { 
     since: getClosestSundayInThePast(startDate), 
     until: getClosestSundayInTheFuture(endDate).minus(1, 'day') 
    }, 
    time_increment: 7 
} 

実装を、それは難しいことではありません。 (例えば、日付形式、など)詳細については

var date = startDate; 
var ranges = [date]; 
do { 
    date = date.plus(7, 'day'); 
    ranges.push(date) 
} while (date < endDate); 

request: { 
    time_ranges: ranges 
} 

API documentation参照:

代わりに、(上記と同様の構文を使用して)TIMERANGEオブジェクトの配列を事前に作成することができます。