urltools (version 1.7.3)

param_set: Set the value associated with a parameter in a URL's query.

Description

URLs often have queries associated with them, particularly URLs for APIs, that look like ?key=value&key=value&key=value. param_set allows you to modify key/value pairs within query strings, or even add new ones if they don't exist within the URL.

Usage

param_set(urls, key, value)

Arguments

urls

a vector of URLs. These should be decoded (with url_decode) but do not have to have been otherwise manipulated.

key

a string representing the key to modify the value of (or insert wholesale if it doesn't exist within the URL).

value

a value to associate with the key. This can be a single string, or a vector the same length as urls

Value

the original vector of URLs, but with modified/inserted key-value pairs. If the URL is NA, the returned value will be - if the key or value are, no insertion will be made.

See Also

param_get to retrieve the values associated with multiple keys in a vector of URLs, and param_remove to strip key/value pairs from a URL entirely.

Examples

Run this code
# NOT RUN {
# Set a URL parameter where there's already a key for that
param_set("https://en.wikipedia.org/api.php?action=query", "action", "pageinfo")

# Set a URL parameter where there isn't.
param_set("https://en.wikipedia.org/api.php?list=props", "action", "pageinfo")

# }

Run the code above in your browser using DataCamp Workspace