SharePoint Framework(SPFx)で作ったカスタムアプリをサイトに追加・公開する方法

  • このエントリーをはてなブックマークに追加

SharePointのモダンUI向けに作成したSharePoint Framework(以降SPFx)の独自アプリを、SharePoint Onlineに展開するには、パッケージ化してサイトに追加する必要があります。
今回はサイトに適用するまでの方法と手順をまとめました。

前提条件

  • SharePoint Online
  • モダンUI
※その他、説明にVisual Studio Code(以下VSCode)を使用します

独自の拡張機能の作成~動作確認まではこちらの記事で取り扱っています。


SharePointのモダンUIでカスタムCSS・カスタムJSを適用する方法


権限の確認

SPFxを操作するには、管理者権限が必要です。
SharePoint管理センター及び、App Catalogにアクセスできるか事前に確認を行ってください。
App Catalogは、SharePoint管理センターの[その他の機能]>[アプリ]のページです。
権限が足りない場合は管理者に権限を付与してもらってください。
Microsoft Entraから権限を付与できます。


1.パッケージ化

では早速、アプリをパッケージ化しましょう。
VSCodeを起動し、アプリのファイルがあるフォルダを選択して開き、ターミナルウィンドウを表示します。

まずは1つめのコマンドを実行します。


完了したら、次はこちらを実行します。


この2つのコマンドが実行されると、sharepoint/solution フォルダに.custom-css.sppkgファイルが生成されます。これがアプリのデータになります。
※生成後にアプリの修正を行う場合は、再度2つのコマンドを実行すると、.sppkgファイルが上書き保存されます。

2.App Catalogからアプリをアップロード、動作を確認

App Catalogにアクセスし、.sppkgファイルをアップロード

SharePoint管理センターから、App Catalogにアクセスします。
App Catalogは、SharePoint管理センターの[その他の機能]>[アプリ]と進みます。(管理者権限が必要です)
「Upload」ボタンから、手順1で作成した.sppkgファイルをアップロードします。



アップ直後、アプリを有効化するかどうか、選択肢が表示されます。
「このアプリのみを有効化する」にチェックし、アプリを有効化します。


有効化され、一覧にアプリが追加されます。



適用するサイトからアプリを追加

アプリを適用したいサイトのアプリを追加ページを開きます。
右上の歯車から、「アプリを追加」から進みます。



先程追加したアプリが表示されているので、「追加」ボタンを押すとCSS・JSが適用されます。



サイトに戻って、実際に適用されたか確認します。適用されていればOKです。

◆もしアプリを修正した時は…
アプリに修正が入った場合は、再度手順1からをやり直します。
同名のアプリを.sppkgファイルをアップロードすれば、サーバーにあるアプリを上書き保存可能です。サイトにも新しい状態で適用されます。

ゲストユーザーが存在する場合の注意点

SharePointを受託開発として請ける場合など、テスト環境は自社領域に構築してクライアント確認をする場合があるかと思います。
その際、ゲストユーザーを招待して閲覧権限を付与しますが、
稀にゲストユーザーの環境から独自アプリが適用されない(アプリから読み込んでいるカスタムCSSが適用されていないなど)状態になってしまう場合があるようです。当社の環境でも発生したことがあります。
関係者に報告する前に、ゲスト権限のテストアカウントを発行し、アプリが正しく反映されているか確認するよう習慣づけた方がよいですね。。

アプリファイルの保存場所がデフォルトではゲストユーザーからアクセスできない場所に設定されているようで、そのため権限がなくエラーになるようです。
以下の手順で設定しなおすと、解消される可能性があります。一度試してみてください。

必要なツールなど

  • SharePoint Online Management Shell
  • 管理権限があるアカウントのログイン情報

SharePoint Online Management Shell(以下SPO Shell)はこちらからインストールしてください。

SPO Shellをサイトに接続する

SPO Shellを起動
SPO Shellを起動し、現象が発生しているSharePointのサイトに接続します。
SPO Shellにコマンドを入力して実行します。
URL部分はSharePointのサイトのURLに書き換えて入力してください。


ログインする
実行後に別ウィンドウが開き、ログインを求められます。
管理者権限があるアカウントのログイン情報を入力してログインします。

SharePointのテナントの設定を変更

以下のコマンドを実行して、設定を変更します。



次に、このコマンドを実行します。


以上で、設定は完了です。ゲストユーザーからアプリが稼働するか試してみてください。

執筆者:森島[ WEBデザイナー ]

8bit デザイナーです。 デザイン・マークアップ・映像制作など幅広く担当しています。

関連記事

プログラミング

SharePointのモダンUIでカスタムCSS・カスタムJSを適用する方法

旧来のクラシックUIを使用していた頃はWEBパーツにカスタムCSSを組み込むことができましたが、モダンUIではCSSやJSの使用が許可されていません。 SharePointのモダンUIで自由にカスタムCSS・JSを使いたい場合は、SharePoint Framework(以降SPFx)という技術を使用する必要があります。 SPFxとは、ざっくりいうとSharePointの独自アプリを作成し、適用するものです。 目次1 前提条件2 SPFxを使用したカスタムCSS・JS構築の手 […]

プログラミング

SharePoint Framework(SPFx)開発環境を構築する

SharePoint Framework(以下SPFx)で独自アプリを作成するには、まず環境構築が必要になります。 環境構築と言うと難しく感じますが、必要なアプリをいくつかインストールしているだけなので、やってみると簡単です。 目次1 SPFxの作成に必要なツール1.1 ツールをインストールするために1.2 VSCodeのターミナルを起動する2 Node.js(v16)をインストールする3 Gulpをインストールする3.1 コマンドを入力して実行4 Yeomanをインストール […]

WordPress

【WordPress】セッション関数の代わりにTransientを使っていくお話

目次1 WordPressでもキャッシュを使いたい1.1 set_transient()1.2 get_transient()1.3 delete_transient() WordPressでもキャッシュを使いたい PHPで一時的にデータをキャッシュする場合、一番使われるのはセッション関数($_SESSION)ですね もちろんWordPressでも利用することは可能ですが、WordPressはセッション関数を推奨していません。 じゃあどうするんだって話になりますが、WordP […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。