2017-12-06 20 views
1

Microsoft Graph APIを使用していて、その機能を使用してExcelワークブックと対話したいと考えています。私は、Microsoft Graph APIとインターフェイスするAPIとインターフェイスするクライアント側のアプリケーションを作成するつもりです。Microsoft Graph APIにアクセスしてExcel文書のアクセス許可

私はMicrosoft Graph permissionのマニュアルと混乱しました。 Excel APIドキュメントを調べると、Update RangeまたはGet Worksheet(または実際には任意のエンドポイント)には、私はDelegated (work or school account)のアクセス許可が必要であることがわかりました。私は上記のGraph許可書を見て、それは言う:

委任されたアクセス許可は、サインインされたユーザーが存在するアプリケーションで使用されます。これらのアプリケーションの場合、ユーザーまたは管理者は、アプリケーションが要求するアクセス許可に同意し、Microsoft Graphへの呼び出し時にサインインしたユーザーとして機能する権限がアプリケーションに委任されます。一部の委任されたアクセス許可は、管理者以外のユーザーが同意することができますが、より高い特権のアクセス許可には管理者の同意が必要です。

私には、「APIを介してワークブックとやりとりするにはoauthを使用してログインする必要があります」と書かれています。ワークブックのデータを公開しておき、読み書きの許可を得たいと思っているので、そうではないと思います。たとえば、OneDriveに保存されているブック(Graph API経由)を取得/更新するために、(管理者)ユーザーを組織内で認証する必要があることを理解していますが、ブックにアクセスするための要件。

答えて

1

個々のユーザーベースのストアではなく、中央のソースデータとしてExcelワークブックを使用するように見えます。その場合、アプリケーションレベルの同意を使用してユーザーのサインインなしでAPIにアクセスできます。 hereを参照してください。クライアント "app"はサーバ(nodeJsなど)にコールし、それがExcelワークブックと対話するためにMicrosoft GraphへのAPIコールを行います。このサーバーツーグラフ呼び出しは、クライアントアプリケーションから抽象化されているため、安全です。

このアプローチの欠点は、サーバーの実装が必要であり、サーバー側の実装を必要としないシングルページアプリケーションを実装できないことです。それは大きなハードルではなく、ちょうど異なる設定を取るだけです。

+0

アプリケーションレベルのアクセス許可については意味がありますが、ExcelグラフAPIドキュメントで「アプリケーションレベルのアクセス許可はサポートされていません」と表示されています。たとえば、[ワークシートの取得](https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/worksheet_get)。 – jamez14

+0

私はそれがサポートしていると信じています。これはドキュメントミスだと思います。私はあなたに戻ってきます。これがうまくいかない場合は、委任されたアクセス許可を使用することもできます。このような場合、すべての更新が1人のユーザーから来ているように思われ、最初の承認とトークンキャッシングは手動で最初に実行する必要があるため、少し奇妙です。 –

関連する問題