The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
A relative end_date resolved to the start
of its own window. .parse_date_string() maps a range name
to the beginning of that range, and end_date was passed
through it unchanged, so a value like "last_month" returned
the first day of the period rather than the last and silently shortened
every such report. Absolute YYYY-MM-DD input was always
correct, which is why this was not obvious.
Two revenue metrics used names the API had renamed:
adEarnings and impressionBasedCpm are the
pre-v2 spellings of estimatedAdRevenue and
cpm, so requests carrying them did not return the intended
columns.
The retry helper called force(expr) inside its loop.
expr is a promise, so forcing it again memoises the first
result and a retry replayed a stale value rather than re-issuing the
request. It also signalled “retry” by returning NULL, which
was indistinguishable from a genuine NULL result. The
caller’s expression is now re-evaluated each attempt and the retry
signal is a distinct sentinel.
Only HTTP 200 counted as success, but groups.delete
and groupItems.delete return 204 with an empty body, so a
successful delete was handled as a failure. Any 2xx is now a success.
The error path also called $ on a body that comes back as
raw(0) when empty, which is an error on an atomic vector;
an empty error body now reports the status instead.
checkmate dependency for
robust parameter validationrlang dependency for modern
error handling with abort() and structured error
classesget_channel_overview() - Comprehensive channel
performance metricsget_top_videos() - Best performing videos with
sortingget_audience_demographics() - Age/gender audience
breakdownget_geographic_performance() - Performance by
country/regionget_daily_performance() - Time series data for trend
analysisget_revenue_report() - Monetization metrics (requires
monetary scope)"last_30_days",
"this_month", "yesterday", etc.resolve_date_range() function for date
calculationsget_common_date_ranges() to discover available
optionsget_available_metrics() and
get_available_dimensions() for discoveryyt_to_dataframe() - Convert API responses to clean
data.framesyt_to_tibble() - Modern tibble supportyt_export_csv() - Easy CSV export with automatic
namingyt_extract_summary() - Statistical summariesyt_quick_plot() - One-line visualizationsdiagnose_tubern() - Complete system health checkcheck_api_quota() - API usage monitoringget_report() with additional parameter
validationyoutube/analytics/v1 to
youtubeanalytics.googleapis.com/v2start-date → startDateend-date → endDatemax-results → maxResultsstart-index → startIndexinclude-historical-channel-data →
includeHistoricalChannelDatayoutube.readonly scope to OAuth
authenticationanalytics and
monetary-analytics scopesget_report(): Fixed parameter mapping and improved
documentationlist_groups(): Enhanced parameter handling and
examplesadd_groups(): Updated documentation with correct
examplesThese binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.