qiitr - R Binding for Qiita
About Qiita
Qiita is a technical knowledge sharing and collaboration platform for programmers. API Document is here http://qiita.com/api/v2/docs.
Installation
qiitr is now on CRAN.
install.packages("qiitr")If you need the development version, try:
devtools::install_github("yutannihilation/qiitr")Preperation
Most of Qiita APIs need authorization by an access token. You can issue access tokens on application settingswith 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 ofSys.getenv("R_USER").
QIITA_ACCESSTOKEN='(your access token)'Or, you can temporarily set QIITA_ACCESSTOKEN byqiita_set_accesstoken().
Usage
Get item information
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")Get user information
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")Follow/Unfollow tags and users
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")Post and edit items
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 andqiita_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)Note
Qiita:Team
Though this package doesn’t provide full support for Qiita:Team-related APIs, you can setQIITA_URL environmental variable to change API endpoints. Please add the following to your .Renviron.
QIITA_URL='(your Qiita:Team's URL)'