2017-05-29 24 views
0

上のフォルダとファイルは、私がhttps://dev.onedrive.com/getting-started.htmOneDrive API(休憩)。ドライブ

は私が認証作業を行うと、私はアカウント内のドライブのリストを取得することができ、APIを使用して、OneDriveとの統合を作ってみます。 APIコール/ me/drivesを実行すると、ドライブのリストが正常に取得されています。

しかし、私はドライブ上のフォルダのリストを取得する方法を見つけることができない、ドキュメントからフォルダなど

のサブフォルダが、私は、このためのいくつかのAPIがあります見ることができますが、それは私のために動作しません。 。 https://dev.onedrive.com/items/list.htm

私はの上で実行する必要があります。

GET /drive/items/{item-id}/children 
GET /drive/root:/{item-path}:/children 

しかし、動作しません。私はドライブのリストからドライブIDを持っています。私が GET /ドライブ/アイテム/ドライブ/子供を実行するとき "アクセスが拒否されました。あなたはこのアクションを実行する権限も、このリソースにアクセスできません"というエラーがあります。

この操作方法は?ドライブIDまたは名前を使用する必要がありますか?多分URLが間違っている、私はドライブ名、IDを持っている場合、正しいURLにする必要がありますか?

答えて

2

を。 OneDrive APIが使用されている他のツールをインストールし、httpsスニッファでトラフィックをデバッグする必要があることを理解する。

エンドポイントがhttps://graph.microsoft.com/v1.0/me/ であるならば、パスはMyFolderフォルダ/サブフォルダのためにドライブ

/drives/DRIVEID/root:myfolder/subfolder:/children 

のルートのための

/drives/DRIVEID/root/children 

あるので、

最終urlは

https://graph.microsoft.com/v1.0/me/drives/DRIVEID/root:myfolder/subfolder:/children 
のようなものです
+0

ちょうど私が必要なもの!ありがとう。 私は、/ root:/ root:/ myFolder:/ childrenという/ after/rootと一緒に私のために働かせるためにここにある '最終的なURL'を修正しなければなりませんでした。 –

0

/drive/drives/<driveidofcaller>というショートカットです。あなたはよそのドライブを照会しようとしているとき、あなたは/drives/DRIVEIDをしたいと思いますし、そうあなたの例に至るあなたのような何かしたいと思います:私はこれを行う方法を発見した

GET /drives/DRIVEID/root/children