microCMS

PHP、Ruby、GoのSDKを公開しました

松田 承一

この記事は公開後、1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、松田です。
本日の更新情報をお知らせいたします。

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をご活用ください。

まずは、無料で試してみましょう。

APIベースの日本製ヘッドレスCMS「microCMS」を使えば、 ものの数分でAPIの作成ができます。

microCMSを無料で始める

microCMSについてお問い合わせ

初期費用無料・14日間の無料トライアル付き。ご不明な点はお気軽にお問い合わせください。

お問い合わせ

microCMS公式アカウント

microCMSは各公式アカウントで最新情報をお届けしています。
フォローよろしくお願いします。

  • X
  • Discord
  • github

ABOUT ME

松田 承一
株式会社microCMSの代表 / 家族=👨‍👩‍👧 / ヤフー→大学教員など→現職 / 管理画面付きAPIがすぐに作れるmicroCMSというサービス作ってます。