M365関連 技術

GraphAPIでSharePointに対してできないこと

GraphAPI経由でSharePoint上のリストに対して操作しようとプログラムを組んでいたところ、ハイパーリンク列が操作できずに困り果てていました。そうしたら以下のサイトを発見し、そんなことあるわけが・・・と思いつつ同じように検証したところ同じエラーが発生したのでその共有となります

チェック
Graph API では SharePoint リストのハイパーリンク列が操作できない件
Graph API では SharePoint リストのハイパーリンク列が操作できない件

続きを読む

発端

そもそもはGraphAPIでSharePointを操作(リストアイテムの作成・取得)を実装しようとしており、取得の方は特段問題なく実装することができたのですが、作成の方がうまく実装できませんでした

リストアイテムを取得してハイパーリンク列の情報を見る

POSTデータを作成するにあたってどのような構造になっているかをGetメソッドで確認する

POSTデータの確認

上記で確認したデータ構造を基にPOSTする際のデータ構造を以下のようにしたのですが、それでもエラーが発生しました

var createData = new Dictionary<string, object>
{
    {
        "ArticleId" , data["Id"]
    },
    {
        "Title" , data["Title"]
    },
    {
        "DatePosted" , data["Date"]
    },
    {
        "ArticleURL",new Dictionary<string, object>
        {
            { "Description",data["Link"] },
            { "Url",data["Link"] }
        }
    },
    {
        "Categories" , data["Categories"].Replace("|", ",")
    },
    {
        "Tags" , data["Tags"].Replace("|", ",")
    }
};

Azureアプリの権限の確認

アプリケーション権限で「Sites.ReadWrite.All」がついており、管理者の同意も付与されている

Graph Explorerを使用して試してみる

Graph Explorerを使用してGetメソッドでデータ構造の確認及びPostメソッドで同じデータ構造でリストアイテムを作成しようとしましたが、エラーとなり作成できなかった

結局どうしたのか

ハイパーリンク列を含めずにリストアイテムを作成すると問題なく作成されました。最初に紹介したブログが書かれた時期から1年以上経過しているので、一縷の望みをかけたのですが修正されていなかったのでおとなしくPnPコマンド実装することにしました
(MSさんGraphAPIを推奨するなら基本的な列を操作できるようにしてください。。。)

会社紹介

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

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

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

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

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

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

サイトへ移動

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

お問い合わせはこちら

-M365関連, 技術
-, , ,