Power AppsのキャンバスアプリからSharePoint Onlineのリストの画像列に対して画像が保存できない、と相談されたので、その原因と対処方法をメモ。
SharePointの画像列
ちょうど1年前くらいにPower AppsのキャンバスアプリがSharePointの画像列に対応し、色々操作できるようになった。
今回はそんな画像列に「画像が保存できない」と相談を受けたのでその原因を調べてみた。
現象:画像が登録できない
まず、こんな感じでSharePointのリストに画像列を追加して、
そのリストからPower Appsのキャンバスアプリを自動で作成する。
作成したキャンバスアプリからこんな感じで画像列に画像を追加して、Submitすると、
なぜか画像が追加されない。。。
もちろんSharePoint側にも保存されていない。
英語サイトを含めて色々検索してみたのだけれど、全然解決策が見つからず。。。
原因:画像列の名前を日本語で作成しているから
で、いろいろ試してみた結果わかった原因が、「画像列」の名前を日本語で作成していたからだった。。。
画像列を追加するときにこんな感じで名前を日本語で入力して、
こんな感じで物理名がOdata形式になってしまうと、どうやら画像列に対してPower Appsから保存がきかないよう。
英文検索しても全然原因が見つからなかったのは、日本語特有の問題だからだった。。。
対策:画像列の名前を半角英字でつける
ということで、対策はSharePointのリストの列を作成するときの基本中の基本「列名は半角英字でつける」こと。
こんな感じで名前を半角英字でつけた画像列を作成し、
Power Appsから登録をしてみると、
無事画像が登録される!
もちろんSharePoint側にも保存される。
英名でつけた後に日本語に直すのは問題なし
おまけで英名でつけた列の名前を日本語に変換し、
再度Power Apps側から画像を保存してみると、
Power AppsにもSharePointにも無事画像が登録される。
ということで、SharePointのリストに列を追加するときは「半角英数字を使うことを強く推奨」するできごとでした。
おまけ:Patchからの追加も同様
せっかくなので、こんな感じでPatchからの追加も試してみたけど、
結果は一緒で、やっぱり英数字で名前を付けた列にのみ画像が登録される。
コメント