GASを使ってWordPressの投稿を自動更新する方法
GASを使ってWordPressの投稿を自動更新したいんだけど、どこから始めればいいのか全然わからなくて…。
猫男
catman
それならcatmanに任せてくれ。GASとWordPressを連携して、投稿を自動更新する方法を教えよう。
GASとWordPressを連携する準備
GASを使ってWordPressに自動で投稿を更新するためには、まず連携の準備が必要です。
WordPressの設定
WordPress側でAPIを利用するための準備をします。基本的な手順は以下の通りです。
- WordPressダッシュボードにログインします。
- 「設定」から「パーマリンク」を選択し、構造が正しいことを確認します。
- 「ユーザー」の「プロファイル」でアプリケーションパスワードを設定します。これにより、GASからのアクセスが可能になります。
Google Apps Scriptの準備
次に、GAS側の準備を行います。
- Google Apps Scriptにアクセスし、新しいプロジェクトを作成します。
- プロジェクトに必要なGoogleサービスとOAuth接続を設定します。
GASでの設定がちょっと難しそう…アプリケーションパスワードって何?
猫男
catman
簡単に言うと、GASがWordPressに安全にアクセスするための鍵さ。心配しなくていい、設定手順に従えば大丈夫だ。
GASスクリプトの実装
WordPressと連携するために、実際のスクリプトを書いてみましょう。
HTTPリクエストを送信する
GASからWordPressへHTTPリクエストを送って、自動で投稿を更新します。
function updateWordPressPost() {
const url = "https://your-wordpress-site.com/wp-json/wp/v2/posts/1";
const payload = {
title: "新しいタイトル",
content: "ここには更新したい内容を入れます。",
status: "publish"
};
const options = {
method: "POST",
headers: {
"Authorization": "Basic " + Utilities.base64Encode("username:application_password"),
"Content-Type": "application/json"
},
payload: JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(url, options);
Logger.log(response.getContentText());
}
UrlFetchApp.fetch()を使用してWordPressのAPIにアクセスします。必要な情報をpayloadにまとめ、POSTリクエストとして送信します。
スクリプトってこんな風に書くんですね!でも何をしているのか理解しないと…。
猫男
catman
焦ることはないさ。しっかりと順を追っていけばわかるようになる。今回はWordPressに投稿を更新するために必要なデータを設定しているんだ。
まとめと注意点
GASとWordPressを連携して投稿を自動更新する手順を理解できましたか?
- WordPressの設定でAPI準備が必須。
- GASから安全にリクエストを送信するには、適切な設定とスクリプトが必要。
- スクリプト内のユーザー名とアプリケーションパスワードの管理に注意しましょう。
練習問題
次のシナリオを使って、GASのスクリプトを作成してください:
- WordPressの投稿IDが2である記事のコンテンツを「これは更新された投稿です」に変更し、タイトルは「更新後のタイトル」にします。
- 投稿のステータスは「draft」に設定してください。
練習問題の解答・解説
function updateWordPressDraft() {
const url = "https://your-wordpress-site.com/wp-json/wp/v2/posts/2";
const payload = {
title: "更新後のタイトル",
content: "これは更新された投稿です。",
status: "draft"
};
const options = {
method: "POST",
headers: {
"Authorization": "Basic " + Utilities.base64Encode("username:application_password"),
"Content-Type": "application/json"
},
payload: JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(url, options);
Logger.log(response.getContentText());
}
- 関数updateWordPressDraftは、指定された投稿ID「2」の情報を更新します。
- titleとcontentの内容を変更し、statusを「draft」状態に設定しています。
- AuthorizationヘッダーでWordPressのAPIにアクセスするための認証情報を含めています。
少しずつだけど、GASとWordPressの連携が理解できてきたかも!catman、ありがとう!
猫男
catman
その調子だ。慣れてきたらもっと複雑なスクリプトも試してみよう。成功を祈っているよ。