こんにちは。CData Software Japan リードエンジニアの杉本です。
以前以下の記事で紹介したように、CData Office365 DriverはClient Credentialsに対応しています。
この機能内部的には、Microsoft Graph APIを使っているので、Azure ADのアプリを作成し、アクセス権を利用者側で任意に設定する必要があります。
例えばユーザー情報を取得したいのであれば、以下の「User.Read.All」を付与する、みたいな形ですね。
ただ、CData Driver はその性質上、かなり利用ケースが多岐に渡るため、ちょっとどの権限を選んだらいいかわからない、ということがあるかなーと思います。
今回はちょっとCData Driverの内部を漁りまして、利用しているAPIを元に必要とされる一覧を起こしてみました。
注意事項
この情報は2021年11月時点での情報になります。
CData Driver・Office365 Graph APIともに、常にAPIの変更や機能追加などが行われていますので、要注意です。
もし利用ユースケース目線でもう少し具体的な案内が必要な場合はテクニカルサポートフォームまでお問い合わせください。
https://www.cdata.com/jp/support/submit.aspx
エンドポイントおよびアクセス許可の一覧
各テーブルが利用しているAPIエンドポイントは次の通りです。
Table Name | API Endpoint | アプリケーションアクセス許可 | リファレンス |
---|---|---|---|
Contacts | v1.0/me/contacts | Contacts.ReadContacts.ReadWrite | Link |
Conversations | v1.0/groups/{groupId}/conversations | Group.Read.AllGroup.ReadWrite.All | Link |
Events | v1.0/me/events | Calendars.ReadCalendars.ReadWrite | Link |
Files | v1.0/me/drive/root/children | Files.Read.AllFiles.ReadWrite.AllSites.Read.AllSites.ReadWrite.All | Link |
Groups | v1.0/groups | GroupMember.Read.AllGroup.Read.AllDirectory.Read.AllGroup.ReadWrite.AllDirectory.ReadWrite.All | Link |
GroupMembers | v1.0/groups/{groupId}/members | GroupMember.Read.AllGroup.Read.AllGroupMember.ReadWrite.AllGroup.ReadWrite.AllDirectory.Read.All | Link |
Messages | v1.0/me/messages | Mail.ReadBasic.AllMail.ReadMail.ReadWrite | Link |
Tasks | v1.0/planner/plans('{id}') | サポートされていません。 | Link |
Users | v1.0/users | User.Read.AllUser.ReadWrite.AllDirectory.Read.AllDirectory.ReadWrite.All | Link |
Calendars | v1.0/me/calendars | Calendars.ReadCalendars.Read.SharedCalendars.ReadWrite | Link |
CalendarView | v1.0/users/{user}/calendars/{calendarid}/calendarView | Calendars.ReadCalendars.ReadWrite | Link |
EventOccurrences | v1.0/{user}/events/{id}/instances | Calendars.Read | Link |
Plans | v1.0/groups('{id}')/planner | サポートされていません。 | Link |