2016-06-23 9 views
0

onedrive api v2.0を使用してアプリケーションを構築しています。 しかし私たちは、/ me/drive/root/childrenに要求を出している間に、他のユーザによって共有されているフォルダにはアクセスできません。ビジネス用に1台のドライブにある共有フォルダにアクセスできない

誰かが共有するフォルダにアクセスする方法をお勧めしますか?私たちのAPIはさらにこれらの共有フォルダにフォルダやファイルを作成します。

答えて

2

共有ファイルは、ユーザーのドライブに表示(あなたの例では/私/ドライブ/ルート)が、sharedWithMeのビューを介して利用できますしないでください。

GET /drive/sharedWithMe

これは、そのアイテムのコレクションを返します。ドライブの所有者(この場合は現在のユーザー)と共有されています。返される各アイテムには、実際のアイテムへの参照を含むremoteItemプロパティが含まれます。実際の共有項目(sharedWithMeによって返されたリモート項目にないリンク)にアクセスします

GET /drives/{item.remoteItem.parentReference.driveId}/items/{item.remoteItem.id}

:あなたは、実際のアイテムにアクセスしたい場合は、このような要求を構築する必要があります。

Shared With Meについての詳細は、OneDriveデベロッパーポータルにあります。

+0

リモートアイテムの詳細を使用して共有フォルダにアクセスしようとしましたが、私たちはAPIから404応答を取得しています。 –

+1

あなたのアプリはどのアプリスコープを使用していますか? OneDrive for BusinessまたはSharePointを使用すると、Files.ReadWriteはユーザーのデータにのみアクセスでき、共有データにはアクセスできません。共有ファイルにアクセスするには、Files.ReadWrite.AllまたはSites.ReadWrite.Allを使用する必要があります。 –

+0

私はFiles.readWriteスコープを使用しています。あなたが提供した情報を使用してみてください...ありがとう –

0

gregで指定されたリクエストは正常に動作します。 greggによって指定されたスコープについてはわかりませんが、共有ファイルにアクセスするには、SharePoint MySite管理で他のユーザー(この場合はファイルを共有しているユーザー)をセカンダリ管理者にして現在のユーザーを追加します。 。

onedrive apiからの応答と比較して応答がより一貫しているため、グラフAPIを使用して1つのドライブからファイルにアクセスすることをお勧めします。どちらのAliでも、セカンダリ管理者の設定でファイルにアクセスする必要があります。

関連する問題