request_make | R Documentation |
Low-level functions to execute one or more Drive API requests and, perhaps, process the response(s). Most users should, instead, use higher-level wrappers that facilitate common tasks, such as uploading or downloading Drive files. The functions here are intended for internal use and for programming around the Drive API. Three functions are documented here:
request_make()
does the bare minimum: calls gargle::request_make()
,
only adding the googledrive user agent. Typically the input is created
with request_generate()
and the output is processed with
gargle::response_process()
.
do_request()
is simply
gargle::response_process(request_make(x, ...))
. It exists only because
we had to make do_paginated_request()
and it felt weird to not make the
equivalent for a single request.
do_paginated_request()
executes the input request with page
traversal. It is impossible to separate paginated requests into a "make
request" step and a "process request" step, because the token for the
next page must be extracted from the content of the current page.
Therefore this function does both and returns a list of processed
responses, one per page.
request_make(x, ...)
do_request(x, ...)
do_paginated_request(
x,
...,
n_max = Inf,
n = function(res) 1,
verbose = deprecated()
)
request_make()
: Object of class response
from httr.
do_request()
: List representing the content returned by a single
request.
do_paginated_request()
: List of lists, representing the returned
content, one component per page.
Other low-level API functions:
drive_has_token()
,
drive_token()
,
request_generate()
## Not run:
# build a request for an endpoint that is:
# * paginated
# * NOT privileged in googledrive, i.e. not covered by request_generate()
# "comments" are a great example
# https://developers.google.com/drive/v3/reference/comments
#
# Practice with a target file with > 2 comments
# Note that we request 2 items (comments) per page
req <- gargle::request_build(
path = "drive/v3/files/{fileId}/comments",
method = "GET",
params = list(
fileId = "your-file-id-goes-here",
fields = "*",
pageSize = 2
),
token = googledrive::drive_token()
)
# make the paginated request, but cap it at 1 page
# should get back exactly two comments
do_paginated_request(req, n_max = 1)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.