M365関連 プログラム 技術

CSOMの違い

今まで、.Net Frameworkでは【Microsoft.SharePoint.Client.Online.CSOM】で実装していましたが、今回.Net 7.0で同じように実装しようしましたが少し違いがあったのでその時のメモです

CSOMパッケージのインストール

.Net 7.0だと【Microsoft.SharePoint.Client.Online.CSOM】は使えないので、
【Microsoft.SharePointOnline.CSOM】というパッケージをNugetからインストールします。名前は似ていますが、SharePointOnlineCredentials等が使えません

Azureアプリ

本ブログで何度も実施しているAzureアプリを作成、設定を実施していきます

Azureアプリの作成

Azureにアクセスし、上部にある検索窓に「アプリの登録」と入力すると下画像のように表示されるので「サービス」>「アプリの登録」をクリック

「新規登録」をクリック

【名前】に「SharePointCSOM」と入力し、【サポートされているアカウントの種類】を「この組織ディレクトリのみに含まれるアカウント」を選択、それ以外は設定はそのままに「登録」ボタンをクリック

アプリの設定

クライアントで使えるように「認証」>「パブリッククライアントフローを許可する」を【はい】にして、下にある「保存」をクリック

アクセス許可の追加

CSOMからアクセストークンを取得できるようにAPI許可を設定します
作成したAzureアプリの「APIのアクセス許可」>「アクセス許可の追加」>「SharePoint」の順番でクリック

「委任されたアクセス許可」をクリックし、今回は「AllSites.Manage」を付与します

「~に管理者の同意を与えます」をクリックし、「~に付与されました」となればOK

実際にCSOMを使う

実際にCSOMのClientContextクラスの初期化は以下のMSドキュメント上にあるAuthenticationManagerクラスをそのまま使用しています
ただ、tokenEndpoint変数とdefaultAADAppId変数は使用する環境に合わせて変えてください

MSサイト
CSOM for .NET Framework の代わりに CSOM for .NET Standard を使用する | Microsoft Learn
CSOM for .NET Framework の代わりに CSOM for .NET Standard を使用する | Microsoft Learn

CSOM for .Net Standard の使用と CSOM for .Net Framework の使用の違いにつ ...

続きを読む

tokenEndpoint変数の値の確認方法

今回作成したAzureアプリの概要の上部にある「エンドポイント」をクリック

様々なエンドポイントが表示されている中から【OAuth 2.0 トークン エンドポイント (v1)】の値をコピーしてtokenEndpoint変数に設定します

defaultAADAppId変数の値の確認方法

今回作成したAzureアプリの概要にある【アプリケーション(クライアント…)】の値をコピーしてdefaultAADAppId変数に設定します

最期に

今回はCSOMを.Net 7.0で呼び出す際の認証の仕方を紹介しました
contextの初期化の方法だけが違いそれ以降の処理は.Net Frameworkのときと変わりありません
今回のコードもGitHubにアップしているので参考にしてください

サンプル
BlogSampleCodeProjects/CSOMHelper at main · nasuton/BlogSampleCodeProjects · GitHub
BlogSampleCodeProjects/CSOMHelper at main · nasuton/BlogSampleCodeProjects · GitHub

Project for sample code used in the blog.(Blogで記載しているサンプルコード ...

続きを読む

会社紹介

私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています

会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造

この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています

ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します

ホームページ
アドバンスド・ソリューション株式会社
アドバンスド・ソリューション株式会社

アドバンスド・ソリューションは主にMicrosoft製品を使用して、企業の生産性向上に取り組んでいます。要件定義から導入 ...

サイトへ移動

お問い合わせ
お問い合わせ  | アドバンスド・ソリューション株式会社
お問い合わせ | アドバンスド・ソリューション株式会社

お問い合わせはこちら

-M365関連, プログラム, 技術
-,