はじめに
.NET 版の Client Side Object Model を使って SharePoint Online に接続するためのサンプルコードをご紹介します。
サンプルコード
以下は、SharePoint Online に接続するための部分的なコードになります。
1 | <span class="lnum"> 1: </span>SecureString securePassword = <span class="kwrd">new</span> SecureString(); |
1 | <span class="lnum"> 2: </span><span class="kwrd">foreach</span> (<span class="kwrd">char</span> passwordChar <span class="kwrd">in</span> password) |
1 | <span class="lnum"> 3: </span>{ |
1 | <span class="lnum"> 4: </span> securePassword.AppendChar(passwordChar); |
1 | <span class="lnum"> 5: </span>} |
1 | <span class="lnum"> 6: </span> |
1 | <span class="lnum"> 7: </span>ClientContext context = <span class="kwrd">new</span> ClientContext(siteUrl); |
1 | <span class="lnum"> 8: </span>context.Credentials = |
1 | <span class="lnum"> 9: </span> <span class="kwrd">new</span> SharePointOnlineCredentials(accountName, securePassword); |
サンプルコードの説明
1行目の SecureString というクラスは、.NET でパスワードなどセキュアな文字列情報を扱うためのクラスで、SharePoint Online へ接続するためのパスワードを格納するために使っています。
SecureString への値の格納は少々面倒なのですが、2行目から5行目の部分で行っています。
この例では、password という string 型の変数にユーザーが指定した SharePoint Online へのパスワードが格納されている前提で、securePassword という変数に1文字ずつパスワード文字列を格納しています。
7行目で SharePoint への接続を管理する ClientContext クラスのインスタンス(context変数)を、接続先サイトの URL (siteUrl変数)を渡して生成しています。
8、9行目では、7行目で生成した ClientContext の Credentials プロパティに SharePointOnlineCredentials クラスのインスタンスを渡しています。
この SharePointOnlineCredentials クラスが SharePoint Online に接続するための資格情報などを持っており、これを使うことで SharePoint Online に接続することができるようになります。
資格情報として、ログインに使用するアカウント名(accountName変数)と、パスワード(securePassword変数)を指定しています。
これらは、SharePoint Online のログインページで入力しているものと同じものになります。
注意事項
- コードを利用する際には、必要な名前空間の指定など、適宜行ってください。
- あくまでもサンプルですので、実際に開発されるプログラムに合わせて、適宜変更してご利用ください。