ラック
Home > CMS > 記事 > 2017年5月 > WordBench東京 5月勉強会「WP REST API について学ぼう」参加レポート

WordBench東京 5月勉強会「WP REST API について学ぼう」参加レポート

カテゴリ: WordPress

イベントページ

WP REST APIで作るモバイルアプリ

登壇者情報

  • ジャスティス岡本(岡本 雄樹)
  • アシアル株式会社
    • Monacaプログラミング教育アドバイザー

内容

  • アプリ開発中
    • 自分のブログをアプリ化して購読者を増やしたい
    • とりあえずBootstrapとjQuery
      • ajaxでREST API叩いてjsonとしてデータを取得、アプリに表示
  • アプリの需要(世間)
    • グループウェア、社内アプリなど
      • 営業活動
      • 記録
    • 情報を公開するのはアプリよりWebが多い
  • ハイブリッドアプリ
    • HTML/css/JSで書いたものをラッピングしてネイティブアプリとして動作させる
      • CORDOVA
      • Monaca
      • ionic
      • etc.
  • これらを組み合わせれば、Webベースでもスマホアプリの開発は可能

カスタムエンドポイントで学ぶWP REST APIの真髄

登壇者情報

内容

  • REST API Handbook にデフォルトのエンドポイントがある
  • WP4.7でコアにマージされたが、プラグインに比べて機能がごっそり削られている
    • カスタムフィールド周りがない
      • アンダースコアが付いたものはプライベート扱い(管理画面には表示されない)が、REST APIで持ってこられるとまずい
        • 例:WooCommerceは決済情報がカスタムフィールドに入っている
      • セキュリティ絡みもあるので、慎重にならざるを得ない
    • 検索(filter)がない
  • 専用のエンドポイントを作れば良いのでは?
    • カスタム投稿、カスタムタクソノミはshow_in_restをtrueにするだけ
  • サービス例:はめぴくっ!
    • Node.jsで作った外部サイト
    • 外部サイトのアイキャッチをREST API越しにPOSTして設定
    • コード
      • persmission_callback: 権限。エンドポイント実行可能かどうか。権限ない場合エラーを勝手に返してくれる
      • 受け付けられるパラメータかどうか判定。エラーは自動的に返してくれる。楽。
  • 認証:OAuth
    • GitHub - WP-API/OAuth1を使用(WPにプラグイン)
      • 現行は2.0なので規格としてはちょっと古い

メモ

return new \WP_Error('permission_denied', '権限がありません。', ['status' => 403]);
// これでエラー返したりHTTPステータスコード設定できる

WP REST APIも利用した新規サービス構築

登壇者情報

  • GOUTEN(ごうてん)
  • クックビズ株式会社 メディア事業部 開発部

内容

  • Foodion(フージョン)
    • クックビズ株式会社のサービス
    • 飲食のプロをターゲットにした写真共有のプラットフォーム
      • 2016/4 Foodion インタビューサイト開始(WP)
      • 2016/12 Foodion iPhonアプリリリース、一部Webページを実装
      • 2017/5 インタビューサイトをWebと統合
      • 2017/XX Foodion Androidリリース
    • WebページはVueで実装
      • 多言語対応
      • 運用・開発の分離
        • このため、やや複雑な構成に
      • 言語ごとにURLを分けない
        • 最初はWPサイトをBogoで対応。言語ごとにURLが変わる
        • アプリ用Webページはブラウザの言語で翻訳データを振り分けていた
        • この2つを統合。そのためにREST APIを利用
        • マルチサイトの英語・日本語:REST APIでそれぞれのサイトのデータを抽出。ここでREST APIを使用
        • ACF to REST API
          • Advanced Custom FieldのカスタムフィールドをREST APIに対応させる
      • 記事のスラッグは言語ごとに同じにする、という運用ルール
  • register_rest_field
  • register_rest_route
  • Vue.js側使用プラグイン
    • Vue-Resource
    • Vue-i18n
  • メリット
    • PHP出力より早くなる
    • PHP考慮しなくて良いのでフロント強ければ引継ぎ楽そう
    • APIに項目追加していくの楽しい
    • SSR考慮していないのでSEOツラい
    • REST API使うとアプリとサイトなど、各分野を分けられるので分業が楽
      • WordPressは完全にバックエンドになる(必要なデータを蓄積してデータとして出力できれば良い)
  • PHPフレームワーク。今まではE2を使っていたが、今回新規の部分はCakeらしい。>参考:【2016 年版】PHPフレームワーク人気比較|#mayonez [マヨネーズ]

WP REST API 活用事例: Vienna - React NativeなWordPressモバイルエディター

登壇者情報

  • Joe Hoyle
  • Human Made Inc.のコファウンダー
  • WP REST API開発メンバーのコミッター

内容

質疑応答

  • Q.次のREST APIチームのステップは?
  • A.次のREST APIのステップとしては、カスタマイザーへのエンドポイントの追加
    • ただし複雑なので時間がかかる
    • 昨日Beta 1が出たばかりのVer4.8ではまだ入らない
    • おそらく4.9

次回

  • 6/9(金)
  • 渋谷Cafe 21
  • 内容未定

備考

会場提供:ランサーズ株式会社

ランサーズについては5/16に放送がある予定

所感

兼ねてより興味のあったREST APIの事例を見聞きすることができて、貴重な情報を得ました。分野としてはおおよそ予想通り

  • スマホアプリ(ハイブリッドアプリ)
  • WPをデータハウスとして利用(他サイトから複数のWPのデータを抽出)

といった事例を見ることができました。一方で、Joe HoyleさんのWPエディタアプリは個人的にははるか彼方の世界に感じられました…(さすがに…)。

懇親会でも情報交換をしたりしましたが、データを印刷物用に抽出する、という発想は自分にはなかったので衝撃的でした。

タグ: イベント

 



関連する記事一覧