ChatGPT→スプレッドシート→ワードプレスという一連の投稿フローを作った際の備忘録です。

以下のサイトで非常に丁寧に解説されていたので、とても助かりました。

ChatGPTとスプレッドシート連携までは、特に問題なく進めました。
(強いて言えば、GPTのバージョンを変更するのに少し迷いました。)

ただ、スプレッドシートとワードプレスの連携がなかなかうまくいかず、しばらく格闘しました。

結果から言うと、XSERVERのセキュリティ対策がエラーの原因でした。
ワードプレスでXSERVERを使ってる場合は、スプレッドシート連携時に以下の手順を実施する必要があります。

  1. REST-APIのアクセス制限をOFFにする
  2. HTTPリクエストヘッダーに “Authorization” を付与する
スポンサーリンク

REST-APIのアクセス制限をOFFにする

XSERVERの「WordPressセキュリティ設定」を開きます。


投稿するワードプレスが設置されているドメインを選択し、「OFFにする」を設定します。


こちらの設定をしないと、GASでスクリプトを実行時に

「不明なエラーが発生しました。しばらくしてからもう一度お試しください。」

というエラーが出ます。

HTTPリクエストヘッダーに “Authorization” を付与する

.htaccessに、以下の内容を追記します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

記載する箇所は、 # BEGIN WordPress より上です。

参考にさせていただいたサイト様
XSERVER に設置した WordPress API で認証が通らない問題 | MSeeeeN

こちらの設定を行わないと、以下のエラーが出ます。

Status code: 400 "投稿タイトル"
{ code: 'rest_invalid_param',
message: '無効なパラメータ: categories',
data:
{ status: 400,
params: { categories: 'categories[0] は integer タイプではありません。' },
details: { categories: [Object] } } }

 

おすすめの記事