Posted at

RからQiitaに記事を投稿する

More than 3 years have passed since last update.

(残念ながらこの記事はRから投稿したわけじゃないです)

dichikaさんに教えていただいたおかげでやり方なんとなく分かりました。

test.RmdというファイルをknitしてQiitaにアップするとすると、こんな感じ。ただし、APIからはファイルアップロードはできないので、今のところそこは手動でやる必要があります。

library(rmarkdown)

library(httr)
library(jsonlite)

rmd_file <- "test.Rmd"
md_file <- "test.md"

# markdownファイルを生成
render(input = rmd_file, output_file = md_file,
output_format = md_document(variant = "markdown_github"), encoding = "UTF-8")

# markdownファイルを読み取り、JSONをつくる
body <- paste(readLines(md_file, encoding = "UTF-8"), collapse = "\n")
b <- toJSON(
list(body = body,
tags = list(
list(name = "R")
),
title = "RからQiitaに投稿するテスト"),
auto_unbox = TRUE)

# 個人用アクセストークンを入力
qiita_token <- paste("Bearer", .rs.askForPassword("Enter token here:"))

# 投稿
res <- POST("https://qiita.com", path = "/api/v2/items",
config = add_headers(`Content-Type`='application/json',
`Authorization`=qiita_token),
body = b)
# 確認
status_code(res)
> [1] 201

結果:http://qiita.com/yutannihilation/items/3b02596ed82b88760519