目標
・記事情報を取得し、一覧表示する
・記事の投稿が可能
使用API
参照元:https://qiita.com/api/v2/docs
記事情報取得API
https://qiita.com/api/v2/users/*username*/items?
記事投稿API
https://qiita.com/api/v2/items?
#実装方法
##Qiitaの設定
・[設定]>[アプリケーション]>[個人用アクセストークン]>[新しくトークンを発行する]でトークンを作成しておく
(取得のためread_qiita、投稿のためwrite_qiitaを選択)
##記事情報取得
通信はaxiosで実施
const qlist = await axios.get('https://qiita.com/api/v2/users/'+【ユーザー名】+'/items?',{
Authorization: 【作成したトークン】
})
##記事投稿
fetchData() {
//必要なパラメータをjsonで設定
//オプションは多数のため、公式ドキュメント参照
const item = {
"body": 【投稿内容】,//マークダウン形式で記載が必要
"coediting": false,//この記事が共同更新状態かどうか (Qiita Teamでのみ有効)
"private": false//限定共有状態かどうかを表すフラグ (Qiita Teamでは無効)
"tags": [
{
"name": "テスト投稿",//タグ:APIテスト時は投稿が無難
}
],
"title": 【記事タイトル】,
"tweet": false//Twitterに投稿するかどうか (Twitter連携を有効化している場合のみ有効)
}
axios.post('https://qiita.com/api/v2/items?',item,{
headers: {
'Content-Type': 'application/json',
'Authorization': 【作成したトークン】
}
}).then(()=>{
//成功処理
}).catch((error)=>{
//失敗処理
})
#最後に
認証許可(GET /api/v2/oauth/authorize)周りも実装したかったが、
難航したため、調査中