SharePoint 2013環境で、SharePointアドインに想定外のパラメータ(通常ついているSPHostUrlなどのパラメータがついていなかった)でリモートサーバに置いたWebアプリケーションにアクセスがありました。
このためにエラーが発生したので、何故そんな事になったのか調べてみました。
想定される問題発生の流れ
実際にアクセスした人には聞けていないので仮説ですが、
- モバイル ブラウザ ビューをオンにする(デフォルトでオンのようです)
- iPhoneでアクセスした人がモバイルビューでサイトを閲覧する
- モバイルビューではアプリとして追加したSharePointアドインも一覧に表示される
- ユーザがこのアドインのリンク(instance_idだけがパラメータのUrl)を直接開く
という流れで発生したのではないかと。
ユーザが普通に操作する画面上には、サイトのページライブラリのページにSharePointアドインを配置したものしかないはずなので。
というわけで、テスト環境はSharePointオンラインですが、モバイル ブラウザ ビューを無効にする手順です。
モバイル ブラウザ ビューを無効にする手順(2018/05/13確認)
まずはサイトの設定ができるユーザで対象サイトを開く。
サイト右上の歯車アイコン→サイトの設定を開く。
サイト機能の管理を開く(サイト単位で管理する機能について、有効/無効を設定する画面です)。
画面をスクロールしていくと、「モバイル ブラウザ ビュー」が見つかります。
該当行の一番右に「アクティブ」という文字が表示されていると、この機能は有効です。「非アクティブ化」をクリックして無効にします。
モバイル ブラウザ ビュー無効化によるiPhoneでの表示の変化
モバイル ブラウザ ビューが有効なときのサイトURL閲覧時の表示
モバイル ブラウザ ビューを無効にした時の表示
PCでみたときのほぼ同じ表示になっていますね。
iPhoneの画面では、小さすぎて操作は難しいですが。