LoginSignup
0
0

More than 1 year has passed since last update.

GoogleAppsScript(GAS)からQiitaAPIを使ってQiita投稿記事を更新する。

Last updated at Posted at 2022-08-03

GoogleAppsScript(GAS)からQiitaAPIを使ってQiita投稿記事を更新しました。その際のソースコードを備忘録として残します。
前回:GoogleAppsScript(GAS)からQiitaAPIを使ってQiita投稿記事(限定共有記事)を投稿する。

本記事の環境

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

使用技術

GoogleAppsScriptのみ。

事前準備

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

手順

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

所感

  • Qiita記事の投稿、更新で処理に大きな違いはなく難しくなかった。
  • GoogleAppsScript(GAS)からQiita記事を投稿、更新できたので、次回は自投稿記事のランキングを作成し自動更新させます。

成果物

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

// 記事更新処理
function updateQiitaTest() {
  const apiUrl = "https://qiita.com/api/v2/items/" + ITEM_ID;
  const item_data = {
    'body' : "# Example",       // 投稿記事本文
    'title' : ITEM_TITLE2,      // 投稿記事タイトル
  };
  const headers = {'Authorization' : 'Bearer ' + TOKEN_ALL2};
  const params = {
    'method' : "patch",
    '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 + "]");
  }
}
0
0
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
0
0