3

「私」ではなく、連絡先の Office 365 カレンダーを取得しようとしています。つまり、私が勤務している会社 (グローバル アドレス リストを持っている会社) では、Outlook と同じように Dave のカレンダーにアクセスしたいと考えています。

ここ、StackOverflow (例:ここここ)、Office 365 のサンプルGraph API のサンプル(グローバル アドレス一覧には Graph API が必要だと思います)のドキュメントを調べましたが、それを行う方法が見つかりません。

3 つの質問があります。

  1. これは可能ですか?
  2. もしそうなら、どのようにお願いしますか?
  3. グローバル アドレス一覧では不可能な場合、Office 365 で作成された連絡先では可能ですか? また可能であれば、その方法は?

どんな助けでも大歓迎です。

4

2 に答える 2

3

まず、これは可能ですが、アプリ専用トークンを使用して Exchange API にアクセスし、このデータを取得する必要があります。API のアクセス トークンによって、その API にアクセスするために必要なアクセス許可が決まることに注意してください。管理者ではない場合、ユーザー トークンを取得して他のユーザーのカレンダーを照会しようとすると、自分のカレンダーを読み取る権限しかないため、"403 - Forbidden" が返されます。

一方、サインインしているユーザーのコンテキストなしで Exchange API をクエリするための高レベルのアクセスを提供するアプリケーション アクセス許可 (委任されたアクセス許可ではなく) をアプリケーションに要求することができます。これらのアクセス許可に関するドキュメントは、こちらの表 4 にあります。

これらのレベルのアクセス許可を要求するアプリケーションでは、アプリがアクセスできるようになる前に管理者の同意が必要になることに注意してください。上記と同じページから:

サービス アプリのアクセス許可を説明する表には、[管理者の同意が必要] 列は含まれていません。これは、サービス アプリのアクセス許可には常に管理者の同意が必要であるためです。サービス アプリの詳細については、「 Office 365 でのサービス アプリとデーモン アプリの構築」を参照してください。

サービス アプリケーションの開発を始めるのに本当に役立つかもしれないので、その引用のリンクを確認してください。

これが役立つことを願っています!

于 2015-07-22T20:31:36.943 に答える
3

あなたのシナリオを正しく理解していれば、現時点では不可能です。自分としてサインインしている場合は、自分のメールボックスにのみアクセスできます。他の人があなたにアクセスを委任した場合でも、他の人にアクセスすることはできません。これは私たちが改善しようとしているものですが、今のところそれを行うことはできません.

クライアント資格情報の認証フローを使用するアプリを作成でき、管理者はすべてのユーザーにアクセスを許可できますが、それはあなたが目指しているシナリオではないと思います。

于 2015-07-22T20:22:02.157 に答える