Interface IActivitiesApi
- Namespace
- Tudormobile.Strava.Api
- Assembly
- Tudormobile.Strava.dll
Strava V3 Activities API Interface.
public interface IActivitiesApi : IStravaApi
- Inherited Members
Methods
CreateActivityAsync(string, SportTypes, DateTime, long, string?, string?, double?, bool?, bool?, CancellationToken)
Creates a manual activity for an athlete, requires activity:write scope.
Task<ApiResult<DetailedActivity>> CreateActivityAsync(string name, SportTypes sportType, DateTime startDateLocal, long elapsedTime, string? type = null, string? description = null, double? distance = null, bool? trainer = null, bool? commute = null, CancellationToken cancellationToken = default)
Parameters
namestringThe name of the activity.
sportTypeSportTypesSport type of activity. For example - Run, MountainBikeRide, Ride, etc.
startDateLocalDateTimeStart date and time.
elapsedTimelongElapsed time, in seconds.
typestringType of activity. For example - Run, Ride etc.
descriptionstringDescription of the activity.
distancedouble?Distance, in meters.
trainerbool?True if this is a trainer activity.
commutebool?True if this is a commute activity.
cancellationTokenCancellationTokenA token to monitor for cancellation requests.
Returns
- Task<ApiResult<DetailedActivity>>
An ApiResult containing the DetailedActivity object representing the created activity.
GetActivitiesAsync(DateTime?, DateTime?, int?, int?, CancellationToken)
List Athlete Activities
Task<ApiResult<List<SummaryActivity>>> GetActivitiesAsync(DateTime? before = null, DateTime? after = null, int? page = 1, int? perPage = 30, CancellationToken cancellationToken = default)
Parameters
beforeDateTime?Filtering activities that have taken place before a certain time.
afterDateTime?Filtering activities that have taken place after a certain time.
pageint?Page number. (Defaults to 1).
perPageint?Number of items per page. (Defaults to 30).
cancellationTokenCancellationTokenA token to monitor for cancellation requests.
Returns
- Task<ApiResult<List<SummaryActivity>>>
An array of SummaryActivity objects.
Remarks
Returns the activities of an athlete for a specific identifier. Requires activity:read. Only Me activities will be filtered out unless requested by a token with activity:read_all.
If the before parameter is not provided, the current date and time is assumed. If the after parameter is not provided, all available activities are returned. The page and per_page parameters are used to limit the number of activities returned.
GetActivityAsync(long, bool?, CancellationToken)
Get Activity
Task<ApiResult<DetailedActivity>> GetActivityAsync(long id, bool? includeAllEfforts = false, CancellationToken cancellationToken = default)
Parameters
idlongThe identifier of the activity.
includeAllEffortsbool?True to include all segments efforts.
cancellationTokenCancellationTokenA token to monitor for cancellation requests.
Returns
- Task<ApiResult<DetailedActivity>>
The activity's detailed representation. An instance of DetailedActivity.
GetActivityZones(long, CancellationToken)
Returns the zones of a given activity. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
Task<ApiResult<List<ActivityZone>>> GetActivityZones(long id, CancellationToken cancellationToken = default)
Parameters
idlongThe identifier of the activity.
cancellationTokenCancellationTokenA token to monitor for cancellation requests.
Returns
- Task<ApiResult<List<ActivityZone>>>
An collection of ActivityZone objects.
ListActivityCommentsAsync(long, string?, int?, CancellationToken)
Returns the comments on the given activity. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
Task<ApiResult<List<Comment>>> ListActivityCommentsAsync(long id, string? afterCursor = null, int? pageSize = null, CancellationToken cancellationToken = default)
Parameters
idlongThe identifier of the activity.
afterCursorstringCursor of the last item in the previous page of results, used to request the subsequent page of results. When omitted, the first page of results is fetched.
pageSizeint?Number of items per page. Defaults to the Strava V3 API default size (currently 30).
cancellationTokenCancellationTokenA token to monitor for cancellation requests.
Returns
ListActivityKudoersAsync(long, int?, int?, CancellationToken)
Returns the athletes who kudoed an activity identified by an identifier. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
Task<ApiResult<List<SummaryAthlete>>> ListActivityKudoersAsync(long id, int? page = null, int? perPage = null, CancellationToken cancellationToken = default)
Parameters
idlongThe identifier of the activity.
pageint?Page number. Defaults to Strava V3 API default (currently 1).
perPageint?Number of items per page. Strava V3 API default (currently 30). A token to monitor for cancellation requests.
cancellationTokenCancellationToken
Returns
- Task<ApiResult<List<SummaryAthlete>>>
A list of SummaryAthlete objects.
ListActivityLaps(long, CancellationToken)
Returns the laps of an activity identified by an identifier. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
Task<ApiResult<List<Lap>>> ListActivityLaps(long id, CancellationToken cancellationToken = default)
Parameters
idlongThe identifier of the activity.
cancellationTokenCancellationTokenA token to monitor for cancellation requests.
Returns
UpdateActivityAsync(long, UpdatableActivity, CancellationToken)
Update Activity
Task<ApiResult<DetailedActivity>> UpdateActivityAsync(long id, UpdatableActivity activity, CancellationToken cancellationToken = default)
Parameters
idlongThe identifier of the activity.
activityUpdatableActivityAn instance of UpdatableActivity.
cancellationTokenCancellationTokenA token to monitor for cancellation requests.
Returns
- Task<ApiResult<DetailedActivity>>
The activity's detailed representation. An instance of DetailedActivity.
Remarks
Updates the given activity that is owned by the authenticated athlete. Requires activity:write. Also requires activity:read_all in order to update Only Me activities