次の方法で共有

委任されたアクセス許可の`/me/calendar/calendarView`において、人によりbodyが返却されない

h.tcd 20 評価のポイント
2024-03-02T16:51:42.3933333+00:00

/me/calendar/calendarView アクセスポイントにおいて、event オブジェクトの body, bodyPreview プロパティが返却されないことがあります。

AzurePortal上でアプリを作成し、API アクセス許可を登録しました。設定は下記の通りです。

  • サポートされているアカウントの種類:この組織ディレクトリのみに含まれるアカウント
  • プラットフォーム構成:モバイルアプリケーションとデスクトップアプリケーション
  • APIのアクセス許可:Microsoft Graph・委任されたアクセス許可・Calendars.ReadBasic

このアプリを使用してアクセストークンを取得し、/me/calendar/calendarView アクセスポイントから予定を取得しました。

結果として、

アプリの所有者本人による予定取得においては、event オブジェクトの全プロパティが返却されましたが、

アプリ所有者以外による予定取得では、 event オブジェクトの body, bodyPreview プロパティが返却されませんでした。実例は今のところ1人のみでしか確認しておりません。

この2名のディレクトリ内における権限に差はありません。

アクセストークンの取得からAPIアクセスまでの方法については、両名で全く同じスクリプトを使用しております。

body, bodyPreview プロパティには "", null 等が格納されているわけではなく、undefinedです。

Outlook画面上では予定本文が表示されているため、そもそも閲覧する権限がないわけではないようです。

他のプロパティについては、問題なく返却されています。

考えられる原因はありますでしょうか?

Azure
Azure

Microsoft が管理する世界のデータ センター ネットワークを介してアプリケーションとサービスを構築、配置、および管理するインフラストラクチャおよびクラウド コンピューティング プラットフォーム。

0 件のコメント コメントはありません

質問作成者が受け入れた回答
  1. gekka 13,986 評価のポイント MVP ボランティア モデレーター
    2024-03-03T02:17:05.97+00:00

    最小特権アクセス許可なっているので、読み取る権限がないという事なのでは?
    Calendars.ReadBasicの説明では「本文、添付ファイル、拡張機能などのプロパティを除き」(英語では「except for properties such as body, attachments, and extensions」)となっているので、bodyを読み取る権限はないようにおもわれます。

    替わりにCalendars.Readで試したら読み取れませんか。
    この場合でも、追加の説明にあるように管理者がアクセスポリシーで制限している可能性もあるみたいですが。

    差異があるのは、本人には既にCalendars.ReadWriteが付与されていて、本人以外はReadBasicという事なのだと思います。

    Outlook画面上というのは、本人以外がそのAPIとトークンでアクセスしているのでしょうか?


0 件の追加の回答

並べ替え方法: 最も役に立つ

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。