qiitr - R Binding for Qiita

API (original) (raw)

R 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.

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