qiitr - R Binding for Qiita API

Travis-CI Build Status AppVeyor Build Status CRAN_Status_Badge

About Qiita

Qiita is a technical knowledge sharing and collaboration platform for programmers. API Document is here http://qiita.com/api/v2/docs.




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().



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

# get a user by id

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

# unfollow a user

# follow a tag

# unfollow a tag

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 and qiita_delete_item() deletes it.

# post an item
item <- qiita_post_item(title = "test", body = "This is an example.")


# update the item
qiita_update_item(item$id, title = "test", body = "**This is a strong example!**")

# delete the item



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)'