1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GoogleAppsScript(GAS)からQiitaAPIを使ってQiita投稿記事(限定共有記事)を投稿する。

Last updated at Posted at 2022-07-11

GoogleAppsScript(GAS)からQiitaAPIを使ってQiita投稿記事(限定共有記事)を投稿しました。その際のソースコードを備忘録として残します。
後々は、GASのトリガー設定を使って、投稿記事の自動更新をさせてみる予定です。

本記事の環境

※PCに環境構築を行う必要はありません。
WEBブラウザ(Google Chome)
Googleアカウント

使用技術

GoogleAppsScriptのみ。

事前準備

  • Qiitaにて、「設定」から「アプリケーション」を選択する。
  • 「個人用アクセストークン」を発行する。※私は読み書き権限両方を付けました。
  • 発行した「個人用アクセストークン」をメモする。※後で入力します。

手順

  • 以下の成果物をGoogleスプレッドシート/拡張機能/Apps Scriptにコピー&ペーストし、「アクセストークン」と「投稿記事タイトル」を書き換える。
  • 「実行」ボタンを選択して、実行が終わるまで少し待つ。
    • 初回は、承認、Googleアカウントへのログイン、リクエストの許可が求められる。
  • 実行が終わったら実行ログを確認する。
  • 実行ログに問題がなければQiitaの限定共有記事を確認する。

所感

  • 欲しいGASのサンプルコードがなかなか見つからず、JavaScriptのコードを参考にしました。
  • それなりの頻度でQiitaAPIが失敗することがあったので、リトライ処理の実装を考えます。

成果物

// 全権限トークン
const TOKEN_ALL = "[発行したトークン]";
// 投稿記事タイトル
const ITEM_TITLE = "[投稿記事タイトル]";

// 記事投稿処理
function createQiita() {
  const apiUrl = "https://qiita.com/api/v2/items";
  const item_data = {
    'body' : "# Example",       // 投稿記事本文
    'private' : true,           // 限定共有記事にするかどうか
    'tags' : [                  // 投稿記事のタグ
      {"name" : "Qiita", "versions" : ["0.0.1"]},
      {"name" : "GoogleAppsScript", "versions" : ["0.0.1"]},
      {"name" : "QiitaAPI", "versions" : ["0.0.1"]},
    ],
    'title' : ITEM_TITLE,       // 投稿記事タイトル
  };
  const headers = {'Authorization' : 'Bearer ' + TOKEN_ALL};
  const params = {
    'method' : "post",
    'contentType' : "application/json",
    'payload' : JSON.stringify(item_data),
    'headers' : headers,
    'muteHttpExceptions' : false
  };

  const response = UrlFetchApp.fetch(apiUrl, params);
  if (response.getResponseCode() >= 300) {
    Logger.log("記事作成失敗 : " + response.getContentText());
  } else {
    const obj = JSON.parse(response.getContentText());
    Logger.log("記事作成成功 : title[" + obj.title + "]、url[" + obj.url + "]");
  }
}
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?