Qiita is a technical knowledge sharing and collaboration platform for programmers. API Document is here http://qiita.com/api/v2/docs.
qiitr is now on CRAN.
install.packages("qiitr")If you need the development version, try:
devtools::install_github("yutannihilation/qiitr")Most of Qiita APIs need authorization by an access token. You can issue access tokens on application settings with the proper priviledge scope.
qiitr package uses QIITA_ACCESSTOKEN environmental
variable for authoriation. Add the following to your
.Renviron file. If you are not familiar with
.Renviron, please read ?Startup. The file is
usually placed in the directory of
Sys.getenv("R_USER").
QIITA_ACCESSTOKEN='(your access token)'Or, you can temporarily set QIITA_ACCESSTOKEN by
qiita_set_accesstoken().
qiita_set_accesstoken()Items means articles on Qiita. qiita_get_items() can get
items by item IDs, tag IDs or user IDs.
# get items by item ID
qiita_get_items(item_id = "7a78d897810446dd6a3b")
# get items by tag ID
qiita_get_items(tag_id = c("dplyr", "tidyr"), per_pages = 10L, page_limit = 1L)
# get items by user ID
qiita_get_items(user_id = "yutannihilation")qiita_get_authenticated_user() returns the current
user’s information. qiita_get_users() returns the
information about the specified user.
# get the current user
qiita_get_authenticated_user()
# get a user by id
qiita_get_users("yutannihilation")You can also follow/unfollow tags and users by qiitr functions. Note that thsese APIs requires write priviledge.
# follow a user
qiita_follow_user("user1")
# unfollow a user
qiita_unfollow_user("user1")
# follow a tag
qiita_follow_tag("RStudio")
# unfollow a tag
qiita_unfollow_tag("RStudio")qiita_post_item() posts an item. Note that the item is
private by default. You should manually check if the post is valid
before make it public. qiita_update_item() updates it and
qiita_delete_item() deletes it.
# post an item
item <- qiita_post_item(title = "test", body = "This is an example.")
browseURL(item$url)
# update the item
qiita_update_item(item$id, title = "test", body = "**This is a strong example!**")
# delete the item
qiita_delete_item(item$id)Though this package doesn’t provide full support for Qiita:Team-related APIs, you can set
QIITA_URL environmental variable to change API endpoints.
Please add the following to your .Renviron.
QIITA_URL='(your Qiita:Team's URL)'