Bunu yapmak için PowerShell ve OneDrive API'lerini kullanıyorum. Tüm klasörleri/dosyaları/etc alabilirim ancak belirli bir dosyanın paylaşıldığı tüm kullanıcıları listeleyebileceğim bir yer bulmakta zorlanıyorum. Kapsamım zaten wl.skydrive_contacts içerir ve zaten API'leri kullanarak tüm klasörlerin/dosyaların bir listesini var. Birisi bana biraz fikir verebilir mi?Dış kullanıcılar ile paylaşılan Onedrive API'si listesi dosyaları
2
A
cevap
1
Tüm paylaşılan öğeleri listelemek için OneDrive Rest API'sini kullanabilirsiniz.
Ondan önce, Sonra aşağıdaki kullanacağım kodunu yapabilirsiniz https://dev.onedrive.com/app-registration.htm
göre sizin onedrive uygun erişmek için bir uygulama kayıt gerekir. Talimatların tamamı için
$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
}
, size denedi Ne https://gallery.technet.microsoft.com/How-to-use-OneDrive-Rest-5b31cf78
İlgili konular
- 1. Yalnızca Get-Acl listesi Kullanıcılar
- 2. OneDrive Push Bildirimleri
- 3. OneDrive SDK
- 4. OneDrive SDK ile kullanılabilecek maksimum dosya adı uzunluğu nedir?
- 5. Maven'de bağımlılık jar dosyaları listesi
- 6. cmake üç dosyaları var bir paylaşılan nesne
- 7. 'Bunu görüntüleyen kullanıcılar aynı zamanda görüntülendi' listesi oluşturma
- 8. Onedrive İş için - Dosya paylaşımı
- 9. Besteci: Proje Komut Dosyaları ve Eklentileri Listesi?
- 10. İlk dosya listesi gerçek dosyaları göstermiyor
- 11. Dış ekran listesi nasıl alınır ve iOS'a bağlanın
- 12. Google Drive SDK REST API - Paylaşılan dosyaları filtrele
- 13. Paylaşılan belleği fork() ile kullanma
- 14. Paylaşılan UserID ile iki uygulama
- 15. Paylaşılan ikili dosyalar ile TFS dallanması
- 16. Kullanıcılar jquery
- 17. Dış .xsd dosyaları bulunan yerel WSDL dosyasıyla WSDL.exe'yi kullanma
- 18. Bazı Excel Dosyaları Paylaşılan Yoldan SQL Server'a Taşınmadı
- 19. Linux: Paylaşılan bir kütüphaneye bağlanırken .pc dosyaları nasıl kullanılır?
- 20. OneDrive API: pazartesi günü çekilen fotoğrafları alın
- 21. UWP Paylaşılan Dosya Deposu
- 22. OpenMP Çeşitli "paylaşılan" yönlendiriciler?
- 23. Cherrypy ile akış dosyaları
- 24. Dosyaları eşleme ile sftp.listdir
- 25. Sorun Jekyll ile Dış JavaScript Bağlama
- 26. Linq - Nokta gösterimi ile sol dış birleştirme
- 27. Webpack ile dış dosya nasıl eklenir
- 28. Dış Alt-Sorgu ile Katıl (Oracle 11g)
- 29. Dış sayfadan innerhtml'yi Javascript ile alın
- 30. Blackberry10'daki Varlıklar ile Paylaşılan Kitaplık Oluşturma
numuneyi görebilir? Kodunuzu ve çalıştırdığınızda aldığınız hatayı paylaşabilir misiniz? – TheMadTechnician
Sürücü köküme ulaşmak için bunu kullanıyorum ve farklı klasör kimliklerini çağırarak klasörleri/dosyaları seçebiliyorum. Beni şaşırtan kısım, bu paylaşılan dosyalar için izin alıyor. Bunu çalıştırdığımda, $ _. Shared_with'in Access = Shared olduğunu görebiliyorum. $ Kök = Invoke-RestMethod -Uri "$ ApiUri/me/skydrive? Access_token = $ AccessToken" – jheinikel
Ayrıca, invoke-restmethod -Method GET -URI "$ APIURI/$ FileID/İzinler çalıştırırken aldığım hata? access_token = $ accesstoken, URL'nin geçersiz olan izinleri içerdiğini gösteriyor. – jheinikel