こんにちは、松田です。
本日の更新情報をお知らせいたします。
PHP、Ruby、GoのSDKを公開しました
これまでは主にクライアントサイド(JavaScript、iOS、Android)を対象としたSDKをご用意しておりましたが、今回のSDK公開によりサーバサイドでもこれまで以上に簡単にmicroCMSをお使いいただけます。
それぞれのSDKはGitHub上にOSSとして公開されているため、どなたでも自由にご利用ください。(Issue、Pull Requestも大歓迎です)
また、それぞれドキュメントに詳しい利用方法をご用意しております。合わせてこちらもご確認ください。
サーバサイドにおけるヘッドレスCMSの利用
microCMSはAPIベースのCMS(Content Management System)です。
多くのエンジニアの皆さまにご利用いただいたことで日本でも頻繁に「microCMS」およびジャンルを示す「ヘッドレスCMS」という言葉を耳にするようになりました。
エンジニア以外の職業領域においても日々ヘッドレスCMS関連の記事の公開やセミナー等の実施により話題に事欠きません。
記事例:
今話題の「ヘッドレスCMS」とは? Jamstack、マルチデバイスにも対応したCMSの新潮流
一方で現在までの流行ではJamstackによる静的ウェブサイト作り、あるいは、ウェブサイト制作における「お知らせなどちょっとした部分のCMS化」といった話題が中心でした。
しかし、これはmicroCMS(ヘッドレスCMS)が持つ可能性の一端に過ぎません。
microCMS(ヘッドレスCMS)はエンジニア向けの表現をすると、入力は管理画面・出力はAPI(REST APIやGraphQL)であるサービスです。
これは「エンジニアが自由な形でコンテンツ運用の仕組みを作り、普段の運用は非エンジニアの方だけで行うこと」を実現するための最良のツールの一つであり、何よりもコンテンツを素早く簡単に運用することを実現しています。
こうした文脈ではウェブサイト以外でも多くの利用シーンを考えられます。例えば以下のような、人間がコンテンツを作成して提示する場合やおすすめ情報などを選び取るようなシーンではmicroCMSの仕組みは非常に理にかなっているでしょう。
- 動画コンテンツサービスのトップページで、編集者が選んだおすすめ動画やピックアップ動画を表示する
- 何らかのアプリで、サポート担当者が記載した認証済みユーザー向けのお知らせや情報コンテンツを表示する
- 店頭ディスプレイで店舗マネージャーが選んだおすすめメニューや商品セットを表示する
これらを実現する際には、単なるウェブサイトとは異なり認証状態のチェックや技術的ハードルが存在し、多くの場合はバックエンド側によるコンテンツ取り扱いの必要性が出てきます。
こうした場合に、今回公開した各バックエンド向けSDKは活躍の場が出てくるでしょう。
それでは、前置きが長くなってしまいましたがそれぞれのSDKについて簡単にご紹介いたします。
いずれのSDKもREST APIの各メソッド(GET、POST、PUT、PATCH、DELETE)に対応していますが、ここでは基本となるGETのコード例を記載いたします。
PHP SDK
PHPからご利用可能なSDKです。SDKはComposerで公開されているためComposer経由で依存設定をする必要があります。
$ composer init
$ composer require microcmsio/microcms-php-sdk
GETの利用例は以下の通りです。
<?php
require_once('vendor/autoload.php');
$client = new \Microcms\Client(
"YOUR_DOMAIN", // YOUR_DOMAIN is the XXXX part of XXXX.microcms.io
"YOUR_API_KEY" // API Key
);
echo $client->get("YOUR_API_ENDPOINT")->text;
詳しくはドキュメントやSDKのREADMEをご確認ください。
Ruby SDK
Rubyからご利用可能なSDKです。SDKはgemインストールが可能です。
$ gem install microcms-ruby-sdk
GETの利用例は以下の通りです。
require 'microcms'
MicroCMS.service_domain = 'YOUR_DOMAIN'
MicroCMS.api_key = 'YOUR_API_KEY'
puts MicroCMS.list('YOUR_API_ENDPOINT')
詳しくはドキュメントやSDKのREADMEをご確認ください。
Go SDK
Rubyからご利用可能なSDKです。SDKはgo get
コマンドでインストールが可能です。
$ go get github.com/microcmsio/microcms-go-sdk
GETの利用例は以下の通りです。Goに関してはレスポンスの型を示すstruct
を指定でき、型安全なコードを書き進めることができます。(下記のコード例ではContent
)
package main
import (
"fmt"
"time"
"github.com/microcmsio/microcms-go-sdk"
)
type Content struct {
Text string `json:"text,omitempty"`
CreatedAt time.Time `json:"createdAt,omitempty"`
UpdatedAt time.Time `json:"updatedAt,omitempty"`
PublishedAt time.Time `json:"publishedAt,omitempty"`
RevisedAt time.Time `json:"revisedAt,omitempty"`
}
func main() {
serviceDomain := "service-domain"
apiKey := "api-key"
c := microcms.New(serviceDomain, apiKey)
params := microcms.GetParams{
Endpoint: "hello",
}
var data Content
err := c.Get(params, &data)
if err != nil {
panic(err)
}
fmt.Printf("%+v", data)
}
より詳しくはドキュメントやSDKのREADMEをご確認ください。
APIプレビューにコード例が表示されます
今回の3種類のSDK追加に伴い、APIプレビュー機能も拡張されました。各APIにパラメータを指定していくことでPHP、Ruby、Goそれぞれのコード例を簡単に取得できます。
最後に
新たに公開したSDKをご活用いただき、今後更に広がっていくヘッドレスの世界を皆さまと一緒に走っていけることをとても嬉しく思っています!
ぜひこれまで以上に様々な場面でmicroCMSをご活用ください。