GPTsからWordPressへ記事投稿するOpenAPI定義の解説
はじめに
ChatGPTのカスタムGPT(GPTs)を活用し、WordPressに直接ブログ記事を投稿するニーズが高まっています。この記事では、その実現方法の一つとして、OpenAPI定義を利用してGPTsからWordPress REST APIを呼び出し投稿する仕組みについて解説します。
GPTsと外部ツールの連携の仕組み
カスタムGPTは、OpenAPIで定義されたエンドポイントを利用して外部のAPIと連携可能です。これにより、WordPressをはじめとしたさまざまなサービスと統合し、自動投稿やデータ連携が実現できます。
GPTsで外部APIを呼び出すには、以下の要素が必要です:
- OpenAPI 3.0 形式のAPI仕様
actionsセクションにおける関数の定義namespace.function形式でのアクション呼び出し
WordPress投稿APIの基本仕様
WordPressはREST APIを通じて、記事の投稿・更新・削除などを行うことができます。記事投稿のエンドポイントは以下の通りです:
POST /wp-json/wp/v2/posts
必要なパラメータには、記事タイトル(title)、本文(content)、カテゴリーやタグ、認証情報(BearerトークンまたはBasic認証)などが含まれます。
GPTsからの投稿用OpenAPI定義例
以下は、GPTsからWordPressに記事を投稿するためのOpenAPI定義の例です:
openapi: 3.0.0
info:
title: Post to WordPress Tech
version: 1.0
paths:
/wp-json/wp/v2/posts:
post:
summary: Create a new blog post
operationId: postToWordPressTech
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- title
- content
- categories
- image_keyword
properties:
title:
type: string
content:
type: string
categories:
type: array
items:
type: string
image_keyword:
type: string
tags:
type: array
items:
type: string
responses:
'200':
description: OK
※ title、content、categories は WordPress REST API /wp/v2/posts のパラメータをそのまま使用しており、image_keyword は独自にラップしたAPIでアイキャッチ画像の検索キーワードとして扱っています。
GPTs側のアクション実装例
GPTsで上記OpenAPIを取り込んだ後、以下のようなコードでアクションを呼び出せます:
namespace.postToWordPressTech({
title: "記事タイトル",
content: "<h2>本文</h2>...",
categories: ["技術", "WordPress"],
image_keyword: "WordPress API"
})
これにより、指定した内容でWordPressに記事が投稿されます。
セキュリティ面の注意点
- OpenAPIに含まれる認証情報は、必ず環境変数などで管理し、漏洩を防ぐことが重要です。
- 投稿先のWordPressは、Basic認証やApplication Passwordsなどで保護することを推奨します。
- 本番運用前には、テスト環境で十分な動作確認を行いましょう。
まとめ
GPTsとWordPressをOpenAPIで連携することで、記事投稿を自動化・効率化できます。セキュリティを意識しつつ、カスタムGPTのアクションを活用することで、開発者はより柔軟でスケーラブルなブログ運用を実現できるでしょう。


コメント