Microsoft Graph APIを使用した内部会議室アプリケーションを構築しています。私は、Schema ExtensionでEventオブジェクトを拡張したいと考えています。Microsoft Graph、Schema Extensionの登録
ドキュメント:
{
"url": "https://graph.microsoft.com/beta/schemaExtensions",
"status": "403 Forbidden",
"headers": {
"request-id": "e1e36210-6c4c-4ed8-afb1-c9ee6f6362ed",
"client-request-id": "e1e36210-6c4c-4ed8-afb1-c9ee6f6362ed",
"x-ms-ags-diagnostic": "{\"ServerInfo\":{\"DataCenter\":\"North Europe\",\"Slice\":\"SliceA\",\"ScaleUnit\":\"001\",\"Host\":\"AGSFE_IN_2\",\"ADSiteName\":\"DUB\"}}",
"duration": "742.4624"
},
"body": {
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "e1e36210-6c4c-4ed8-afb1-c9ee6f6362ed",
"date": "2017-05-10T10:05:37"
}
}
}
}
I:新しいスキーマ拡張を登録するには、クエリを実行している場合
- API Reference は、しかし、私はこのHTTPレスポンスを受信しています私のアプリケーションがプレ必要なスコープパーミッションは
Directory.AccessAsUser.All
であり、このパーミッションを追加してから16時間以上経過しています。私は検証済みのドメインも持っているので、ドキュメント参照ごとに名前空間はOKでなければなりません。コード内
私のAPIのクエリ:
Outlook.test({
version: 'beta',
resource: 'schemaExtensions',
method: 'POST',
body: {
id: 'thehivegroup_beethere',
description: 'Extension for event presence status',
targetTypes: [ 'Event' ],
properties: [
{ name: 'checkIn', type: 'String' },
{ name: 'checkOut', type: 'String' }
]
}
})
.then(result => console.log(result), err => console.error(err))
URL https://graph.microsoft.com/beta/schemaExtensions
に許可トークンを持つボディとヘッダにエンコードされたJSONとPOSTになります。
beethere
などの異なるIDを試してみましたが、名前空間のエラーが発生しました。このため、正常に動作するはずです。
ここで有効にする必要があることを認識している他のスコープのアクセス許可はありません。エラーは私にはあまりにもあいまいで、何であるか特権が不十分です。
EDIT:は手動APIに必要な範囲の権限とケースでいくつかの余分なものが、それでもスキーマ拡張を登録するためのクエリを追加し、テナントで管理者としてGraph Explorerでクエリを実行しましたアプリケーションが受け取るのと同じエラーメッセージで動作しません。したがって、私のコードでは間違いなくMicrosoft Graph APIに問題はありません。マイクロソフトに問題の調査を依頼する連絡先や方法はありますか?
ありがとう、それは委任されたアクセス許可の仕組みのニュアンスを説明します。 委任されたパーマをグラフエクスプローラで処理できることを確認します。 また、REST/Graph APIを介して排他的にではなく、スキーマ拡張を登録および管理することができます。スキーマの拡張を管理することがまれであることを考えれば、多くのコードとロジックを構築しなければならず、個々のアプリケーションのスキーマ拡張の管理者ユーザーインターフェイス全体を構築する必要があります。これは何とかAzure Portalで管理できますか、またはスキーマ拡張を管理するための単一目的のアプリケーションを持つことができますか?スキーマがGAになったら、再利用できます –
確かにNexii。 UserVoiceでUIのリクエストを追加してください(https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/category/101632-microsoft-graph-o365)。 -rest-api。早急にグラフエクスプローラを使用できるように修正する必要があります。 –
Graph Explorerでスキーマ拡張定義を作成/管理できるように修正する前に、Postmanを使用してこれらの操作を実行できます(AAD v2エンドポイントを使用してMicrosoft Graphへのアクセストークンを取得する必要があります) –