MENU

GASでWordPress下書きを作る実務テンプレ|シートから投稿まで

当ページのリンクには広告(PR)が含まれていることがあります。
GASでWordPress下書きを作る実務テンプレ|シートから投稿までのアイキャッチ

スプレッドシートからWordPressの下書きを作る場合は、投稿する行を明示し、作成した投稿IDを必ず記録します。通信が失敗したように見えても、WordPress側で下書きができている可能性があるためです。

まずは公開ではなく下書き作成に絞り、タイトル、本文、対象サイト、投稿後の確認をそろえます。

目次

投稿台帳の列を決める

スクロールできます
列 内容
A: 管理ID シート側の処理を識別する値
B: タイトル 下書きのタイトル
C: 本文HTML 確認済みの本文
D: 承認 「承認」の行だけを対象にする
E: 投稿ID 作成後に受け取ったID
F: 状態 未処理、処理中、作成済み、確認待ち、保留

管理IDとWordPressの投稿IDは別の値です。並べ替えで行が変わっても、管理IDから対応を調べられるようにします。送信後に本文を直した場合も、入力の版を残します。

下書き用のデータを作る

次は行の配列から本文を組み立てる例です。APIを呼び出す処理は含みません。

function wpDraftFromRow(row) {
  if (row[3] !== "承認" || row[4] !== "" || row[5] !== "未処理") return null;
  if (typeof row[1] !== "string" || !row[1].trim() ||
      typeof row[2] !== "string" || !row[2].trim()) {
    throw new Error("タイトルと本文を確認してください");
  }
  const id = String(row[0] ?? "").trim();
  if (!id) throw new Error("管理IDがありません");
  return {
    managementId: id,
    payload: { title: row[1], content: row[2], status: "draft" }
  };
}

返したmanagementIdは自分の台帳用です。WordPressへ送るJSONはpayloadの中身だけにします。本文に画像やリンクがある場合は、送信前に参照先と権利、表示内容を確認します。

認証と送信を分ける

WordPressの投稿API資料では、POST /wp/v2/postsで投稿を作成できます。サイトのREST APIのURLに合わせ、通常は /wp-json/wp/v2/postsを使います。

公式の認証資料を確認し、HTTPSと、権限を絞った利用者、承認されたアプリケーションパスワードを使用します。値はシートに置かず、GASの設定などへ分けます。設定へアクセスできる編集者も管理します。

GASのUrlFetchAppで、methodをpost、contentTypeをapplication/jsonとし、JSON.stringifyでpayloadを本文へ変換します。認証ヘッダーや要求全体をログへ出さないようにします。

応答から投稿IDを保存する

HTTPコードと応答を検査し、返されたidとlink、statusを管理IDへ対応させます。応答を受け取る前に「作成済み」と記録しないようにします。

保存した投稿IDから内容を取得するか、管理画面で下書きを開きます。タイトル、本文、画像、リンク、ブロック表示、下書き状態を確認します。APIの成功だけでは、意図した表示になったことまでは分かりません。

時間切れと再実行の扱い

送信後に時間切れになった行を、投稿IDが空だからと自動で再送しないようにします。処理ID、送信時刻、タイトル、対象サイトを使って、作成された下書きを確認します。曖昧な場合は保留にします。

複数人が同時に動かす場合は、対象取得と処理中への変更を一つの管理区間へまとめます。1回の件数と試行回数を制限し、手動で変更された行は入力の版で照合します。

公開の前に人が確認する

この処理の到達点は、内容を確認できる下書きです。公開日時、カテゴリー、アイキャッチなどを追加する場合は、利用する項目をAPI資料で確認し、既存の設定を勝手に置き換えないようにします。

接続の全体像はGASからWordPressへ投稿する解説、投稿APIの前提はWordPress REST APIの基本も参考になります。

この記事を書いた人

Watanabeのアバター Watanabe サイト運営者

2020年よりブログ開始。
SEOが思いのほか性にあっていたようで現在に至る。
モットーは「勝率の高い選択をする」
AIは活用するが吉、最後は人間が息を吹き込む。
アートと科学を追求し、日々精進。
―――
収益:6~7桁をウゴウゴ。
サイト:ペラサイト~中規模サイトまで運営中。
案件:1000円以上の案件をメインに取組中。
打ち手:ブラックSEO~ホワイトSEOまで
―――

目次