I've written this code to get all activities for a date range. You can modify it for your Programming language:
/// <summary>
/// Gets all the activities recorded in a specified period of time.
/// </summary>
/// <param name="after">Date after the activity was recorded.</param>
/// <param name="before">Date before the activity was recorded.</param>
/// <returns>A list of activities that was recorded between 'after' and 'before'.</returns>
public List<Activity> GetActivities(DateTime after, DateTime before)
{
List<Activity> activities = new List<Activity>();
int page = 1;
bool hasEntries = true;
while (hasEntries)
{
List<Activity> request = GetActivities(after, before, page++, 100);
if (request.Count == 0)
{
hasEntries = false;
}
foreach (Activity activity in request)
{
activities.Add(activity);
if (ActivityReceived != null)
{
ActivityReceived(null, new ActivityReceivedEventArgs(activity));
}
}
}
return activities;
}
/// <summary>
/// Gets all the activities recorded in a specified period of time.
/// </summary>
/// <param name="after">Date after the activity was recorded.</param>
/// <param name="before">Date before the activity was recorded.</param>
/// <param name="page">Page of activities. Default value is 30.</param>
/// <param name="perPage">Number of activities per page.</param>
/// <returns>A list of activities that was recorded between 'after' and 'before'.</returns>
public List<Activity> GetActivities(DateTime after, DateTime before, int page, int perPage)
{
String getUrl = String.Format("{0}?after={1}&before={2}&page={3}&per_page={4}&access_token={5}",
Endpoints.Activities,
DateConverter.GetSecondsSinceUnixEpoch(after),
DateConverter.GetSecondsSinceUnixEpoch(before),
page,
perPage,
Authentication.AccessToken);
String json = WebRequest.SendGet(new Uri(getUrl));
return Unmarshaller<List<Activity>>.Unmarshal(json);
}