現在、MVC サイトから SharePoint に保存されたドキュメントにアクセスするための CSOM メソッドを実装しています。ドキュメントのリストと各ドキュメントのプロパティには既にアクセスできました。私がやろうとしていること (そしてそれで惨めに失敗したこと) は、ドキュメント全体の Office Web App/Office Online ビューを提供することです。基本的に、可能であれば、SharePoint にいるときと同じように、ユーザーを Office Web アプリにリダイレクトしたいと考えています。
次のような WOPI リンクを提供するために、CSOM を既に実装しています。
ClientResult<String> result = <file>.ListItemAllFields.GetWOPIFrameUrl(SPWOPIFrameAction.Edit);
問題は、ドキュメントが公開されていないことです。リンクに移動すると、ユーザー名とパスワードの入力が求められます。使用した SharepointOnlineCredentials を既に持っており、clientContext.ExecuteQuery()
同じ資格情報を使用してユーザーをプログラムでサインインしたいと考えています。
理由:
- 資格情報に設定されたサインイン アカウントは "ゲスト アカウント" であるため、Microsoft および SharePoint 以外のユーザーがドキュメントにアクセスできます。したがって、サインインできません。
- Sharepoint サイトは、匿名ユーザーを許可する公開サイトではありません。
- また、OAuth と Active Directory の使用を回避しようとしています。
REST/CSOM/JSOM でこれを行う方法はありますか? それとも他のAPI?