からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

SharePoint

SharePoint REST API を使ってリスト アイテムの画像列を更新する

SharePoint Online には新しい列の種類として 2020 年より画像列というものが追加されています。これまでカスタム リストで画像を扱う場合は添付ファイルに設定することが多かったのですが、画像を列として表現できるようになったため、利便性が高くなってい…

PnP PowerShell を任意のアクセス許可で実行する

PnP PowerShell を最初に実行したときに Admin Consent を要求されるのですがアクセス許可の一覧がエグくてびっくりします。さすがにこれは許可しづらいので、もうちょっとアクセス許可を制限した上で PnP PowerShell を使いたいです。方法はいくつかありま…

SharePoint Online のモダン サイトでニュースの一覧を表示する

SharePoint Online のモダン サイトで標準のニュース Web パーツがあるのですが、指定した件数しか表示できないので、新しいニュースがあると古いニュースが流れてしまいます。[すべて表示] をクリックすればすべてのニュースが見られるのですが、ひと手間か…

SharePoint Framework で gulp test を使って自動テストを実行してみる

SharePoint Framework でも自動テストを実施したいということがあります。幸い公式のドキュメントでは Jest を使ってテストを実施する方法が紹介されています。docs.microsoft.comこの方法では package.json を書き換えて既定の gulp test ではなく Jest を…

Fluent UI が 2 種類あってややこしいので整理してみる

Fluent UI はマイクロソフトが開発している React 向けの UI フレームワークです。Microsoft 365 に統合された UI を表現できるため、Microsoft 365 開発には必須のフレームワークなのですが、残念なことに Fluent UI と名前の付くフレームワークが 2 種類あ…

SharePoint REST API を使うときの 5,000 件問題について振り返ってみる

みんな大好き SharePoint の 5,000 件問題ですが、いつも結局のところを忘れてしまうので、備忘録として整理しておきます。 先にこちらの記事を見ておくといろいろ参考になります。idea.tostring.jp 準備 SharePoint に連番と色とサイズの列を持つ簡単なリス…

Power Apps で親子関係のある入力フォームを作ってみる

親子関係のあるような複雑なデータを編集する場合は、できればモデル駆動型アプリを使っていただくのが正解だとは思うのですが、いろいろな都合により (主にライセンスの関係で) Microsoft Dataverse を使うことができないという場合もあるでしょう。そこで …

SharePoint を使ったバッチ プログラムの認証/承認がなぜこんなにややこしいのか考えてみる

SharePoint を使ったバッチ プログラム開発、簡単なものでは手元で実行する簡単なデータ投入ツールだったり、複雑なものになると Azure Functions や Azure Automation を使ってやるものだったりすることがありますが、いずれにしてもこうした無人化されたプ…

Office 365 管理 API を使って SharePoint Online の監査ログを取得する

いままでずっと SharePoint Online の監査ログの生データは取得できないと思っていたのですが、実は Office 365 管理 API というものを使えば取得できるのだそうです。Office 365 管理 API は SharePoint、Exchange、Teams、Power Platform などのさまざまな…

SharePoint Online でダウンロードを禁止する方法まとめ

SharePoint Online を使っていると「ダウンロードを禁止したい」というご要望を聞くことがよくあります。個人的には、システムで制限するよりも、そうさせない組織づくりをするほうが大事だと思うのですが、そうはいっても要望は要望としてあるので、いくつ…

.NET Standard に対応した CSOM で注意するべき点について

少し前の話題になってしまいますが、ついに CSOM が .NET Standard 2.0 に対応したとアナウンスがありました。developer.microsoft.com.NET Standard 1.0 がリリースされたのが 2016 年、.NET Standard 2.0 がリリースされたのが 2017 年ということなので、…

SharePoint Framework で共通のプロパティを利用する

SharePoint Framework ではテナントまたはサイト コレクション単位で共通の読み取り専用のプロパティを使用することができます。docs.microsoft.com値の設定は Office 365 CLI または PnP PowerShell を使って行うことができます。SharePoint Framework では…

SharePoint Framework の分離された Web パーツを使ってみる

SharePoint Framework 1.8.0 から分離された Web パーツという機能が使用できるようになっています。docs.microsoft.comリンク先の説明を読んでいただければわかるのですが、簡単な説明をすると、分離された Web パーツは以下の 2 つの機能を持ちます。 Web …

SharePoint Framework で Common Data Service のデータを読み取る

SharePoint Framework では AadHttpClient を使うことで Azure AD で保護された API に対してのアクセスを OAuth の設定を行うことなく簡単に実装することができます。ということは Common Data Service (Dynamics 365) のデータにもアクセスできるはずなの…

SharePoint Framework で Angular を使用する

SharePoint Framework の公式のテンプレートである @microsoft/generator-sharepoint では、使用できる JavaScript の Framework に React または Knockout (または JavaScript Framework を使用しない) という選択肢しかありません。しかし、SharePoint の…

SharePoint Framework を使ってメール送信フォームを作ってみる

かなり以前の記事になりますが、SharePoint の Web パーツを使ってメール送信フォームを作ったことがありました。blog.karamem0.dev今回はこの記事のアップデート版となります。現在の SharePoint 開発のスタンダードである SharePoint Framework を使って W…

Power Platform + Microsoft Azure で SharePoint のサイト作成フォームを作ってみる

2020/01/31 に行われた「Power Apps でローコーディングな勉強会 #12」に参加してきました。powerapps.connpass.comその際にちょっとしたアプリを作成したのでここで紹介したいと思います。 概要 アプリの概要としては「Power Apps から SharePoint のサイト…

SharePoint Framework の展開について理解する

SharePoint Framework は npm、gulp、yo といった、これまでの SharePoint 開発ではなかったフロントエンドの技術を使っているため、そういう点についてばかりフォーカスがされてしまいますが、SharePoint Framework で作成したアプリがどのように展開される…

OneDrive for Business にカスタム リストを作成する

Power Apps や Power Automate を個人で利用するときに、データ ソースとして最も簡単なのは Excel ファイルですが、Excel ファイルは委任の問題があったり、別でファイルを開いているときに Power Apps で Excel ファイルを開けなくてエラーになったりと、…

SharePoint Framework でプレゼンス情報を一覧表示する Web パーツを作ってみた

前回の記事で Microsoft Graph でプレゼンス情報が取得できるという紹介をしましたが、さっそく SharePoint Framework で Web パーツを作ってみました。blog.karamem0.devサンプル コードはこちら。github.com実行してみるとこんな感じになります。定期的に …

CSOM で通知を取得するときの仕様が鬼畜な件について

SharePoint にはリスト アイテムに変更があったときにメールで通知をしてくれる機能があります。上位互換の Power Automate を使うという方法もありますが、モダン UI にもちゃんとメニューがあって、組み込みのお手軽さもあるため、まだまだ使う機会は多い…

SharePoint 2019 で SPFx の Application Customizer を追加するとフォントが変更される

SharePoint 2019 でコミュニケーション サイトを作成し、SPFx の Application Customizer を追加したときに、フォントが Yu Gothic に変更されるという事象が発生します。コミュニケーション サイトの最初の状態では、フォントは Segoe UI (日本語はメイリオ…

SharePoint Online のコミュニケーション サイトで評価の設定を有効にする

SharePoint Online のコミュニケーション サイトでは、[リストの設定] にある [評価の設定] の項目がありません。そのため「いいね!」や「星評価」の機能を使うことができないようになっています。 評価の機能は GUI からは設定できませんが、CSOM から機能…

削除できなくなった SharePoint 2013 ワークフローを強制的に削除する

SharePoint Designer で SharePoint 2013 ワークフローを開発しているとまれに作成したワークフローを削除できなくなることがあります。具体的には、再利用可能なワークフローを作成し、テンプレートとして保存し、保存したテンプレートから展開した場合に、…

SharePoint Online のコミュニケーション サイトではリスト テンプレートやソリューションをアップロードできない

SharePoint Online のコミュニケーション サイトでは、[サイトの設定] - [Web デザイナー ギャラリー] でリスト テンプレートやソリューションのギャラリーへのリンクが表示されず、また直リンクでギャラリーにアクセスしてファイルをアップロードしようとし…

SharePoint 2019 で SharePoint 2013 ワークフローを使用できるようにする

SharePoint Online であれば Flow を使えば問題ないのですが、オンプレミスの SharePoint 2019 の場合は、まだまだ SharePoint ワークフローを利用する機会は多いと思います。そして、標準で使える SharePoint 2010 ワークフローよりも、HTTP Web アクセスで…

SharePoint Online のモダン UI から「タイトル」列の名前を変えても変わらない現象について

元ネタはこちら。art-break.netじゃあなんでこうなるかというと、ざっくり言えば SharePoint には「タイトル」列が 3 つあるからです。[ビューの編集] を見たことがある人ならピンとくるかもしれませんが、以下の 3 つの列が存在します。 ID 表示名 内部名 f…

SharePoint Online Management Shell でテンプレートを空にしてサイト コレクションを作成できなくなりました

先日、SharePoint 管理センターのアップデートがあり、クラシック機能が一か所にまとめられてアクセスできるようになりました。それに伴ってかどうかは定かではありませんが、SharePoint Online Management Shell から新しいサイト コレクションを作成したと…

New-SPOSite した直後に更新操作をしようとすると失敗することがある

SharePoint Online Management Shell を使って New-SPOSite したあとに、CSOM などで何らかの更新操作 (例えばサイト グループを作ったりするなど) をしようとするとエラーになることがあります。そもそも、SharePoint Online でのサイト コレクションの操作…

PowerShell と CSOM で Geolocation 列に値を入れるときにちょっとハマったのでメモ

相変わらず PowerShell なんですけれども。Geolocation 列に値を入れる方法については以下にまとまっています。FieldGeolocationValue を使ってねということのようです。docs.microsoft.comそれでは実際にやってみます。 $item = New-Object Microsoft.Share…