Ghost Blog - ゆるっとエンジニアブログ
Box CLI でページ割りを使用する

Box CLI でページ割りを使用する

Box CLI では、listコマンド(例: box users:listなど、:list部分は省略可)を使用することでオブジェクト(ユーザーなど)の一覧を取得することができますが、上限が1000となっており、またページ割り機能も未実装のようなので(執筆時点)、1000件を超える場合は全部のデータが取得できないようです(関連Issue)。 そこで、listコマンドを使用せずにbox requestコマンドでページ割りを行って1000件以上ある場合でも、全部のデータを取得するスクリプトを作成しました。内容を以下に記載します。 利用環境 以下の環境を使用しました * Box CLI: ver 3.1.0(バージョン依存しないと思いますが、一応記載) * OS: Windows 10 * Powershell: 5.1.19041.3031 MacOSおよびLinuxでも、pwshをインストールすることで利用できるはずです。 Ref: https://ja.developer.box.com/guides/cli/quick-start/powershell-sc

PostmanでBox APIを使ってみる (JWT認証)

PostmanでBox APIを使ってみる (JWT認証)

PostmanでJWT認証方式を使用してBox APIを呼べるようにしてみました。 前置き Box APIでは複数の認証方式があり、公式ではOAuth 2.0を使用したPostmanコレクションが提供されています(手順はこちら)。 https://ja.developer.box.com/guides/tooling/postman/ ここでは、JWT認証を使用してPostmanからBox APIを呼ぶ方法について記載します。 Boxアプリケーションの作成・承認 Box APIを呼ぶにあたり、事前にBoxのカスタムアプリの作成と承認を行います。 1. まず、Boxの開発者コンソールからJWT認証方式のアプリを作成します。詳しい手順については、公式ページに記載があるのでこちらでは割愛します。 2. Box管理者としてログインし、#1で作成したアプリの承認を行います。こちらも公式ページに手順があるので割愛します。 なお、#1でアプリを作成する際の「キーペアの生成」手順でダウンロードされる config.json(以下のような形式でJWTアプリの認証に必

CLI環境でCharles Proxyを利用して暗号化通信の中身を見る

CLI環境でCharles Proxyを利用して暗号化通信の中身を見る

ここでは、GUIを一切使用せずにCharles Proxyを使用して暗号化通信(HTTPS)のログをキャプチャする方法を紹介します。WindowsやMacなどGUIが使用できる環境ではCharles ProxyのGUIを使用して行えばいいのですが、LinuxサーバーなどGUIが使用できずCLIオンリーの環境で、通信のデバッグを行いたいという需要があったためリサーチしてこの方法にたどり着きました。 ※ちなみに別の方法として、環境変数SSLKEYLOGFILEを定義し、pre-master-secretをファイルへと出力しながらtcpdumpを採取するという手段もあると思います。 利用環境 * OS: Ubuntu 20.04.4 LTS (GNU/Linux 4.4.0-19041-Microsoft x86_64) 本稿では、Debian系のLinuxディストリビューションを使用してます(ちなみに上記バージョン情報の"Microsoft"からわかる通り、WSLのUbuntuです)が、Red hat系のディストリビューションでも(一部コマンドは異なるものの)同様の手順が

Ghost で任意の image url を Featured Image に指定する

Ghost で任意の image url を Featured Image に指定する

Ghost で記事を作成する際、アイキャッチ画像(Featured Image)に外部ソースの画像を指定する方法について紹介します。 前置き ブログで記事を作成する際、画像や動画などのメディアは別のサーバー(AWS S3やGoogle Cloud Storageなど)で管理したい、ということはないでしょうか。 Ghostでは記事内の画像は外部URLを指定できるものの、残念ながらアイキャッチ画像(Featured Image)に関してはGhostサーバーにアップロードしたファイルしか指定できないようです。以下はForumの関連記事です。 Allow external URLs for feature imagesWould it be possible to have an option to enter the url for an already existing image as an

Ghost + Gatsby + Netlify でブログを開設

Ghost + Gatsby + Netlify でブログを開設

Ghost + Gatsby + Netlify でブログを開設しましたので、手順についてメモします。以前は、WordPressを使ってブログを運用していたのですがメンテナンスに限界を感じ、別のCMSを探したところ、この構成にたどり着きました。この構成を使用することで、シンプルかつ高速なブログを作成することができました。 Tech stack ざっくりですが、使用した技術スタックについてひとことずつ * Ghost: コンテンツマネジメントシステム(CMS)。Ghostでブログを書きます。 * Gatsby: 静的サイトジェネレータ(Static Site Generator)。Ghostで作成したブログ記事を静的コンテンツへと変換します。 * Netlify: ホスティングサービス。Gatsbyで生成した静的コンテンツをここにホスティングし、Webで閲覧できるようにします。 利用環境 以下を使用しました * Docker version: 20.10.14, build a224086 * Node version: v16.15.0 * Ga

PostmanでZaim APIを使ってみる

PostmanでZaim APIを使ってみる

Postmanを使用してZaim APIを試してみました。Zaim APIは認証方式としてOAuth 1.0を利用しているようなのですが、その認証方式の前提知識なしでPostmanにてサクッと試したい方の参考になればと思います。 Zaim APIを利用するまでの流れ 以下の流れでZaim APIの利用が開始できます。 1. Zaimアプリを作成する 2. Zaimアプリを使用してアクセストークンを取得する 1. リクエストトークンを取得 2. ユーザーとしてログインしアプリを認可する 3. アクセストークンを取得 3. アクセストークンを使用してZaim APIを使用する ※事前にZaimのアカウントの作成とPostmanのインストールは完了している前提です。 1. Zaimアプリの作成 Zaim APIの使用にあたり、まずアプリの作成が必要になりますので、以下の手順で作成を行います。

Wordpressのサーバー移行時に、旧サーバーで管理画面だけ入れるようにする方法

Wordpressのサーバー移行時に、旧サーバーで管理画面だけ入れるようにする方法

WordPressのお引越し(ドメイン変更を含む)をした後、旧サーバーの管理画面にどうしても入る必要ができてしまいました。が、旧ドメインから新ドメインへのリダイレクトが設定済みだったので、旧サーバーにアクセスしても新サーバーにリダイレクトされて旧サーバーの管理画面に入れない状態に。。。回避方法を見つけたのでメモしておきます。 やりたいこと * ページの訪問者が、旧サーバーのページにアクセスした際は、新サーバーにリダイレクトする。 * WordPressの管理者だけは、旧サーバーの管理画面にアクセスした際、新サーバーにリダイレクトせず管理画面を使用できるようにする。 対処方法 自身の検証より、Wordpressの管理画面に接続する際は、基本的に以下のパスが使用されることに気づきました。 https://old_domain.com/wp/xxx https://old_domain.com/app/xxx /wp/もしくは/app/で始まるパスが使用されるようなので、これらのパスにアクセスがあった場合はリダイレクトしないように設定を書き換えることで実現で

Wordpressアップデート後、管理画面に入れない

Wordpressアップデート後、管理画面に入れない

WordPressのバージョンをアップデートした後、管理画面に入ろうとすると/wp/wp-admin/upgrade.php?_wp_http_referer=%2Fwp%2Fwp-admin%2Fへとリダイレクトされ続け、「更新の必要はありません WordPress のデータベースはすでに最新です !」と表示されて、入れなくなってしまいました。解決方法について記載します。 発生原因 この画面にリダイレクトされる原因は、Wordpressのバージョンアップ後、Wordpressのバージョン情報がウェブサーバー側とデータベース側とで一致しないことで起きるようです。 Ref: https://github.com/WordPress/WordPress/blob/master/wp-admin/admin.php#L51-L55 対処方法 ということで、Wordpressのバージョンをデータベース側のバージョンと比較してみました。 WordPressのバージョンはwp-includes/version.phpのwp_db_versionにセットされています。

WMware Workspace ONE + Android Enterprise + Box を設定してみた

WMware Workspace ONE + Android Enterprise + Box を設定してみた

WMware Workspace ONEをMDMとしてAndroid Enterpriseを利用し、Box for EMMを設定してみました。手順をメモっときます。 ※Intuneの時と同様、公式の資料がないところは割と手探りでやりました。間違い等ございましたら、ご指摘いただけますと幸いです。 VMware Workspace ONE 側の設定 (Android Enterprise編) こちらの公式の資料の手順に従って、Workspace ONE側でAndroid Enterpriseの設定を行います。ここでは本手順の内容をかいつまんで記載します。うちはGSuiteユーザーではないので、GSuiteユーザーでない方の手順を使用してます。 1. [はじめに] > [Workspace ONE] > [Android EMM 登録] の順に進み、[構成]を選択します。 ※私はすでに登録済みなので[構成]ではなく[編集]ボタンになっております。 2. 「Android EMM 登録」 ページにリダイレクトされるので、[Google に登録する] を選択しま

HiveQLでMIMEエンコードされたデータをデコードする

HiveQLでMIMEエンコードされたデータをデコードする

アプリケーションログの保存先として使用しているHiveにMIMEエンコードされた状態で保存されていたデータがあったので、HiveQLでデコードする方法を考えてみました。HiveQLの関数だけでやろうとするとあまりいい方法が思いつきませんでしたが、とりあえず実現する方法は編み出したのでメモっときます。 はじめに - HiveQLとは HiveQLとは一言でいうとHive上で使用できるSQLに似たクエリ言語になります。Hiveって何?って方は、こちらのページの説明がわかりやすいと思ったので、リンクさせていただきます。 要点をまとめると、Hive (Apache Hive) とはSQL(厳密にはHiveQLというSQLに近い言語)を使用してHDFS (Hadoop Distributed File System)のデータを集計・分析することを可能にするソフトウェアです。HDFSは複数のコンピューターのハードディスクを一つのストレージのように扱えるスケーラブルな分散型ファイルシステムであり、大規模なデータを格納できますが、データ集計を行う際MapReduceジョブ(各コンピュータ

Box CLIの通信をキャプチャーしてみる

Box CLIの通信をキャプチャーしてみる

Box CLIでコマンドを叩いた際に発生する通信の中身が見たい時、FiddlerのようなHTTPプロキシとして動作する通信デバッグ系のアプリを経由させることによってリクエスト・レスポンスの内容が確認できます。本稿では、設定手順につき記載します。 前提 以下の環境で動かしてます * Box CLI: ver 2.6.0(2.xであれば、きっとこちらの手順でいけると思います) * Fiddler: v5.0.20204.45441 * OS: Windows 10(Mac用のコマンドもちょいちょい記載してますが、未検証です) Fiddler側の設定 Fiddlerを起動して以下の操作を行います。 1. [Tools] > [Options] と遷移し [Options] ダイアログを開く 2. [HTTPS]のタブを開き、[Capture HTTPS CONNECTs] と [Decrypt HTTP traffic]のチェックを有効化する 3.

Box + Microsoft Intune MAM without Enrollment を設定してみた

Box + Microsoft Intune MAM without Enrollment を設定してみた

Box + Microsoft Intune MAM without Enrollment を設定してみました。手順や注意点を記載します。 ※公式の資料があまり見つからず、個人的な見解も多少混じってますので、間違い等ございましたら、ご指摘いただけますと幸いです。 Box + Microsoft Intune MAM without Enrollment とは もともとBoxは「Box for EMM」というMDM連携用のアプリを提供していたようですが、「Box for EMM」はMDMへ登録済みのデバイス上でしか(with Enrollmentでしか)利用ができませんでした。 それが以下のリリースノートによると、Intune MAM without Enrollmentに対応したとのことで、MDMへデバイスを登録せずに(without Enrollmentで)、BoxアプリをIntuneの管理下とする(Intune MAMのアプリ保護ポリシーの対象とする)ことが可能になったようです。 https://support.box.com/hc/ja/articles/360