(残念ながらこの記事は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