私はこれを達成するためにPowerShellとOneDrive APIを使用しています。私はすべてのフォルダ/ファイル/ etcを得ることができますが、特定のファイルが共有されているすべてのユーザーをどこにリストすることができるかを見つけるのは苦労しています。私のスコープはすでにwl.skydrive_contactsを含んでおり、私はすでにAPIを使っている全てのフォルダ/ファイルのリストを持っています。誰か私にいくつかの洞察力を与えることができる?外部ユーザーと共有されたOnedrive APIリストファイル
2
A
答えて
1
OneDrive Rest APIを使用すると、すべての共有アイテムを一覧表示できます。その前に
、あなたは、あなたは以下のコードを使用することができますhttps://dev.onedrive.com/app-registration.htm
に応じて自分のOneDriveへの適切なアクセスを得るためにアプリケーションを登録する必要があります。完全な手順については
$ClientId = "<Your application client id>" # your application clientid
$SecrectKey = "<Your application key>" # the secrect key for your application
$RedirectURI = "<Your web app redirect url>" # the re-direct url of your application
Function List-SharedItem
{
[CmdletBinding()]
Param
(
[Parameter(Mandatory=$true)][String]$ClientId,
[Parameter(Mandatory=$true)][String]$SecrectKey,
[Parameter(Mandatory=$true)][String]$RedirectURI
)
# import the utils module
Import-Module ".\OneDriveAuthentication.psm1"
# get token
$Token = New-AccessTokenAndRefreshToken -ClientId $ClientId -RedirectURI $RedirectURI -SecrectKey $SecrectKey
# you can store the token somewhere for the later usage, however the token will expired
# if the token is expired, please call Update-AccessTokenAndRefreshToken to update token
# e.g.
# $RefreshedToken = Update-AccessTokenAndRefreshToken -ClientId $ClientId -RedirectURI $RedirectURI -RefreshToken $Token.RefreshToken -SecrectKey $SecrectKey
# construct authentication header
$Header = Get-AuthenticateHeader -AccessToken $Token.AccessToken
# api root
$ApiRootUrl = "https://api.onedrive.com/v1.0"
# call api
$Response = Invoke-RestMethod -Headers $Header -Method GET -Uri "$ApiRootUrl/drive/shared"
RETURN $Response.value
}
# call method to do job
$Results = List-SharedItem -ClientId $ClientId -SecrectKey $SecrectKey -RedirectURI $RedirectURI
# print results
$Results | ForEach-Object {
Write-Host "ID: $($_.id)"
Write-Host "Name: $($_.name)"
Write-Host "ParentReference: $($_.parentReference)"
Write-Host "Size: $($_.size)"
Write-Host "WebURL: $($_.webUrl)"
Write-Host
}
、あなたは何を試してみましたhttps://gallery.technet.microsoft.com/How-to-use-OneDrive-Rest-5b31cf78
関連する問題
- 1. Azure SQLデータを外部ユーザーと共有
- 2. 外部ユーザーとの共有に最適なビジュアライゼーションプラットフォーム
- 3. Microsoft Graph APIユーザー間で共有されていない共有予定表ID
- 4. 外部キーの共有
- 5. onedrive javascript api共有リンクのアカウントが必要です
- 6. OneDrive APIを使用して共有文書をダウンロードする
- 7. APIを使用して公開共有OneDriveフォルダにアクセス
- 8. ポリマー1.1の共有スタイルと外部スタイルシート
- 9. リストファイルが外部ストレージディレクトリに存在する
- 10. Microsoft Graph APIの外部共有ファイルの一覧を表示
- 11. Microsft GraphとOneDrive JS SDKを使用して共有OneDriveドキュメントを取得
- 12. 共有プリファレンスはユーザー間で共有されます
- 13. OneDriveで同じアプリケーションの異なるユーザー間でファイルを共有する
- 14. REST APIを使用したSharePoint Onlineでのフォルダの外部共有
- 15. OneDriveで共有されているファイルをドライブ間で移動する方法
- 16. 外部ヘッダーを含むqt共有ライブラリ
- 17. Hibernateでの外部キーの共有
- 18. Microsoft Graph FilterはOneDriveファイルを共有しました
- 19. グラフAPIを使用してOneDriveドキュメントを共有するユーザーリストを取得
- 20. 共有リンクディレクトリからOneDriveファイルをダウンロードして移動する
- 21. 共有されたステップとクローニング
- 22. キーストアとGoogle APIの共有
- 23. Microsoft Graph APIを使用して他のユーザーとカレンダーを共有
- 24. Power BIデータセットを組織外のユーザーと共有する
- 25. 複数の外部.SWF間でトゥイーンまたはパーティクルクラスを共有
- 26. CouchDB変更されたときにデータを外部APIにプッシュ
- 27. Microsoft Calendar Graph API:ユーザーの間でイベントIDが共有されていません
- 28. APIを使用したNextCloudリストファイル
- 29. OneDrive REST APIとSharepoint Online
- 30. 内部ユーザーと外部ユーザーのためのAzure ADの分離
でサンプルを見ることができますか?あなたのコードとあなたがそれを実行するときに得るエラーを共有できますか? – TheMadTechnician
私はドライブのルートを取得するためにこれを使用しています、そして、異なるフォルダIDを呼び出すことによってフォルダ/ファイルを選ぶことができます。私が困惑している部分は、これらの共有ファイルのアクセス権を取得しています。これを実行すると、$ _。shared_withがAccess = Sharedを示していることがわかります。 $ Root = Invoke-RestMethod -Uri "$ ApiUri/me/skydrive?access_token = $ AccessToken" – jheinikel
また、invoke-restmethod -Method GET -URI "$ APIURI/$ FileID/Permissions"を実行したときに発生するエラー? access_token = $ accesstokenはURLに無効なパスPermissionsが含まれていることです。 – jheinikel