4,521 views(since 2013/10/08)

Office365+SharePoint用アプリ+ASP.NET MVC5 で素早く簡単にかつ美しく作るアプリ by Visual Studio 2013

Office365+SharePoint用アプリ(Apps for SharePoint)+ASP.NET MVC5で作成すると、

標準でTwetterbootstrap(TwitterのきれいなCSS)の組み込み済みなため

簡単に、美しく、 また外部データベース(SQL Azure他なんでも)との連携も簡単に作れます。

また、MVC5は完全にクリーンなHTMLを出力するため、JavaScriptも書きやすく、外部のWebAPI(twitter,その他)との連携も簡単にできるでしょう!!

ここがいいです!!

Office365+SharePoint+Visual Studio 2013の相性抜群なのを確認して感動した。
難しかったクレームベース認証のところも、考えなくてもできた!!!

次回はこんな感じでやってみます。

Windows Azure(Webサイト) +SQL Azure(データベース) + Office365(SharePoint, Exchange, Lync) をベースに、
アプリで[SharePoint]と[SQL Azure]のデータを取得/設定できるアプリを作ってみたいともいます。

最終イメージ

自分のOffice365か Office365からアプリを起動しますと!

appsforsharepoint_1st_0010

SharePointの画面からASP.NET MVC5(SharePoint用アプリ)に切り替わる。

認証はそのままOffice365が継続されています。

以下はOffice365のユーザ名が取得してASP.NET MVC5(SharePoint用アプリ)に表示されています。

appsforsharepoint_1st_0020

準備

SharePointの用意、わたしは、当社のOffice365を使用しました。

もちろん、Office365 DeveloperでもOKですし、オンプレミスSharePointでもよいです。

とりあえず、デバック用に開発者サイトは準備しておいてください。

SharePoint管理センターからサイトの新規作成を行う

appsforsharepoint_1st_0030

開発者向けサイト を選んでください。

appsforsharepoint_1st_0040

必要であれば、実際にアプリを配置する。アプリカタログも作っておきます。
作成後こんな感じ

appsforsharepoint_1st_0050

開発

Visaul Studio2013/ファイル/新規/プロジェクト

Office/SharePoint/アプリ/SharePoint2013用アプリ

appsforsharepoint_1st_0060

準備でで作成した開発者向けサイトのURLを 「アプリのデバックに使用する SharePointサイトに指定します。」

SharePoint用アプリをホストする方法は、今回は、 「自動ホスト型」を選びます。

ASP.NET MVC5 は「プロバイダー向けホスト型」「自動ホスト型」のみ可能です。

自動ホストの場合は裏で自動的にWindows Azureに無料でホストしてくれます。
※デバック時はVisual StudioのビルトインASP.NETローカルサーバでホストされます。

appsforsharepoint_1st_0080

「ASP.NET MVC Webアプリケーション」を選ぶ

appsforsharepoint_1st_0090

Visual Studio 2013 のプロジェクトが作成されます。

SharePoint用アプリのマニュフェストファイル(XML)とASP.NET MVC5のサイトが作成されます。

appsforsharepoint_1st_0100

MVC5 のコントローラのところに、SharePoint2013から名前データを

クライアント オブジェクト モデルにて取得するプログラムが書かれています。

クライアント オブジェクト モデル(Client Object Model)は以下を参照

appsforsharepoint_1st_0110

Office365からユーザ名を取得してくるサンプルプログラム一部抜粋

using Microsoft.SharePoint.Client;

public class HomeController : Controller

{

[SharePointContextFilter]

public ActionResult Index()

{

User spUser = null;

var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);

using (var clientContext = spContext.CreateUserClientContextForSPHost())

{

if (clientContext != null)

{

spUser = clientContext.Web.CurrentUser;

clientContext.Load(spUser, user => user.Title);

clientContext.ExecuteQuery();

ViewBag.UserName = spUser.Title;

}

}

return View();

}

}

Filed Under: .NETOffice365Office365 AppSharePoint

Tags:

About the Author

野呂清二(ご連絡はこちらまで (http://www.exceedone.co.jp/inquiry/)

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.