プライベート API にアクセスするための小さな便利なパッケージを作成しており、httr
関数を使用して要求を実行しています。また、Roxygen を使用してドキュメントなどを処理しています。次httr
のような関数をインポートしています。
#' Get a page of data from the specified endpoint.
#' @keywords internal
#' @importFrom httr GET
#'
get_data <- function(url, headers, page_number) {
# Add querystring for page
url_with_page <- paste0(url, "?page=", page_number)
message("Downloading: ", url_with_page)
# Get API response
response <- GET(url_with_page, headers)
return(response)
}
ただし、プリロードされたパッケージなしでパッケージを実行しようとすると、名前空間エラーが発生します。
Error in get_data(url, headers, 1) :
could not find function "GET"
私は通常、この種のことについてハドリーの専門知識Depends
を尊重しますが、これはフィールドを使用するだけでなく/ではなく使用する良いケースImports
ですか?
編集: Roxygen によって生成された私の名前空間。
# Generated by roxygen2 (4.1.1): do not edit by hand
export(get_export)
export(get_exports)
export(get_metadata)
importFrom(httr,GET)
importFrom(httr,add_headers)
importFrom(httr,content)
importFrom(jsonlite,fromJSON)
importFrom(jsonlite,rbind.pages)
編集:私の記述ファイル。
Package: APIpack
Type: Package
Title: APIpack
Version: 0.1
Date: 2016-01-04
Authors: "Matt Policastro"
Description: This package provides a set of convenience functions.
License: Proprietary
LazyData: TRUE
Imports: httr,
jsonlite
Suggests: testthat