
Get log record metadata for OP3 service
op3_hits.Rdop3_hits() obtains lowest-level log records for every prefix redirect
processed by the OP3 service.
Usage
op3_hits(
format = "json",
limit = 100,
desc = TRUE,
start = NULL,
start_inclusive = TRUE,
end = NULL,
url = NULL,
hashed_ip_address = NULL
)Arguments
- format
result output format returned by the API endpoint. Possible values are
json(object-based) orjson-a(array-based) formats.- limit
Integer of maximum number of episodes to return. The maximum limit supported for this endpoint is
1000. Default is100.- desc
Boolean to return results in time-descending order. If
FALSE, results are returned in time-ascending order. Default isTRUE.- start
Optional date or date-time object to filter results to those starting at the supplied value. The object must be class
Date. Default isNULL.- start_inclusive
Boolean to consider the
startdate or date-time as inclusive for results. IfFALSE, thestartvalue is considered exclusive. Default isTRUE.- end
Optional date or date-time object to filter results to those ending at the supplied value. The object must be class
Date. Default isNULL.- url
Optional string to filter results by the specific URL providing the redirect. The URL is often a direct link to a podcast episode file, or a version of the URL with a wildcard character
*to enable multiple episodes for a given podcast. Default isNULL.- hashed_ip_address
Optional string to filter results by the specific IP address secure hash. Default is
NULL.
Value
Atibble data frame for the json format, otherwise a nested list
for the json-a format. The data frame contains the following columns:
time: Timestamp of current recorduuid: OP3 UUID for podcasthashedIpAddress: Secure hash of the record's originating IP addressmethod: Type of HTTP method usedurl: URL of the record's requestuserAgent: Request's reported user agentrange: If application, the request's specified bytes range.edgeColo: Three-letter airport code associated with the recordcontinent: The request's originating continentcountry: Two-letter country code of the recordtimezone: Request timezoneregionCode: Abbreviation of regionregion: Region of requestmetroCode: Region metro code
Examples
# Requires API token
# obtain 10 records
op3_hits(limit = 10)
#> # A tibble: 10 × 15
#> time uuid hashedIpAddress method url userAgent range xpsId
#> <dttm> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 2024-05-26 03:02:29 9c303… 6dcb5f13e97b89… GET http… Podimo/2… byte… F676…
#> 2 2024-05-26 03:02:29 4a9cc… 248070500b09bb… GET http… CastBox/… byte… NA
#> 3 2024-05-26 03:02:29 39d67… 313dead66f5735… GET http… Podverse… byte… 14E6…
#> 4 2024-05-26 03:02:29 e7943… 4d7941e9e0420a… GET http… Spotify/… byte… NA
#> 5 2024-05-26 03:02:29 2918d… 8932c7dd847e9a… GET http… CastBox/… byte… NA
#> 6 2024-05-26 03:02:29 47a62… ffadf61c0bd803… GET http… CastBox/… byte… NA
#> 7 2024-05-26 03:02:29 8d2e6… 03f8f7f81f2462… GET http… Podcasts… byte… D2BF…
#> 8 2024-05-26 03:02:29 f767f… 03f8f7f81f2462… GET http… Podcasts… byte… 7198…
#> 9 2024-05-26 03:02:29 d70c8… 7c93dc19e7d848… GET http… CastBox/… byte… NA
#> 10 2024-05-26 03:02:29 e3d8a… 1934ed26e1c588… GET http… CastBox/… byte… NA
#> # ℹ 7 more variables: edgeColo <chr>, continent <chr>, country <chr>,
#> # timezone <chr>, regionCode <chr>, region <chr>, metroCode <chr>
# records based on specific podcast episode
op3_hits(url = "https://op3.dev/e/serve.podhome.fm/episode/99cfd30f-e40c-426a-3557-08dc4ea63bb0/63851340872787683054574074-0a1f-4951-8f2a-9084678c6604v1.mp3")
#> # A tibble: 100 × 16
#> time uuid hashedIpAddress method url userAgent edgeColo
#> <dttm> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 2024-05-26 03:01:00 2d0d44f2… be7061f953d7f7… GET http… Overcast… CDG
#> 2 2024-05-26 00:15:09 732f4ed9… dfed5dc4d57271… GET http… Overcast… MAN
#> 3 2024-05-25 19:40:54 f1719348… 3ecb5557837266… GET http… Podcasts… AMS
#> 4 2024-05-25 19:40:54 c0c21267… 3ecb5557837266… GET http… Podcasts… AMS
#> 5 2024-05-25 19:40:54 334d24ef… 3ecb5557837266… GET http… Podcasts… AMS
#> 6 2024-05-25 19:40:54 3307b1a9… 3ecb5557837266… GET http… Podcasts… AMS
#> 7 2024-05-25 19:40:54 11c4230c… 3ecb5557837266… GET http… Podcasts… AMS
#> 8 2024-05-25 19:40:54 141df8ed… 3ecb5557837266… GET http… Podcasts… AMS
#> 9 2024-05-25 19:40:54 370648c6… 3ecb5557837266… GET http… Podcasts… AMS
#> 10 2024-05-25 19:40:54 936c8f12… 3ecb5557837266… GET http… Podcasts… AMS
#> # ℹ 90 more rows
#> # ℹ 9 more variables: continent <chr>, country <chr>, timezone <chr>,
#> # regionCode <chr>, region <chr>, metroCode <chr>, range <chr>, xpsId <chr>,
#> # referer <chr>
# records for multiple episodes using a wildcard in URL
op3_hits(url = "https://op3.dev/e/serve.podhome.fm/episode/99cfd30f-e40c-426a-3557-08dc4ea63bb0/*")
#> # A tibble: 100 × 16
#> time uuid hashedIpAddress method url userAgent edgeColo
#> <dttm> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 2024-05-26 03:01:00 2d0d44f2… be7061f953d7f7… GET http… Overcast… CDG
#> 2 2024-05-26 03:01:00 6677e487… be7061f953d7f7… GET http… Overcast… CDG
#> 3 2024-05-26 00:15:09 732f4ed9… dfed5dc4d57271… GET http… Overcast… MAN
#> 4 2024-05-25 23:25:42 279af5b7… bc7989cdfa188b… GET http… python-h… LAX
#> 5 2024-05-25 20:54:23 d9ef13c1… ae9441c356d6d1… HEAD http… Apache-H… FRA
#> 6 2024-05-25 20:54:23 958a7e71… ae9441c356d6d1… HEAD http… Apache-H… FRA
#> 7 2024-05-25 20:29:01 a4a02ec4… 4cb9befbeafcef… GET http… python-h… LAX
#> 8 2024-05-25 19:40:54 f1719348… 3ecb5557837266… GET http… Podcasts… AMS
#> 9 2024-05-25 19:40:54 c0c21267… 3ecb5557837266… GET http… Podcasts… AMS
#> 10 2024-05-25 19:40:54 334d24ef… 3ecb5557837266… GET http… Podcasts… AMS
#> # ℹ 90 more rows
#> # ℹ 9 more variables: continent <chr>, country <chr>, timezone <chr>,
#> # regionCode <chr>, region <chr>, metroCode <chr>, range <chr>, xpsId <chr>,
#> # referer <chr>