2017-02-20 1 views
1

Ich entwickle gegen Microsoft Graph CSharp SDK für OneDrive for Business und ich versuche, Daten zurück zu ziehen auf einer bestimmten User und Anfrage zurück Quota Informationen.Microsoft Graph CSharp SDK und Microsoft Onedrive für Business mit einer Service/Daemon Anwendung - Quote Facette null zurück

Meine Anfrage:

var user = await graphServiceClient.Users["[email protected]"].Request().GetAsync(); 
var drive = await graphServiceClient.Drives["[email protected]"].Request().GetAsync(); 
var quotaTotal = drive.Quota.Used; 
var displayName = user.DisplayName; 
var driveType = drive.DriveType; 
var driveId = drive.Id; 

Das Problem - die Daten, die zurückgegeben wird, ist alles null. Hat die Microsoft Graph SDK Unterstützung zum Zurückziehen Facette für OneDrive for Bussiness Konten?

aktualisieren

ich auch die auf Anwendungsebene Erlaubnis client_id, client_secret und tenant_name zu authentifizieren bin bereitstellt.

aktualisieren

Added ein Screenshot für drive da sie alle null zurückgibt.

enter image description here

Antwort

1

Die quota.used Facette wird durch den Dienst nicht zurückgegeben wird (Ich werde dieses Problem berichten). Sie können die Summe und die verbleibenden Eigenschaften verwenden, um die Menge des verwendeten Kontingents zu bestimmen.

aktualisiert Ihre ursprüngliche Frage zu beantworten ... Ja, die Microsoft Graph .NET-Client-Bibliothek Quota und Benutzer auf Microsoft Onedrive für Geschäftskonten unterstützen.

Ich weiß nicht, warum Sie das Kontingent in der Antwort nicht erhalten. Ich kenne keine OneDrive for Business-Kontingente ... Ist es möglich, dass Sie keine Quote haben? Nur aus Gründen der Vollständigkeit, habe ich Ihren Code:

var user = await graphClient.Users["[email protected]"].Request().GetAsync(); 
var drive = await graphClient.Drives["[email protected]"].Request().GetAsync(); 
var quotaTotal = drive.Quota.Used; 
var displayName = user.DisplayName; 
var driveType = drive.DriveType; 
var driveId = drive.Id; 

ich erfolgreich bekam wieder ein Quote Objekt ohne die Eigenschaft verwendet. Hier ist, was ich in der Antwort sehe.

{ 
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives/$entity", 
    "id": "<some ID>", 
    "driveType": "business", 
    "owner": { 
     "user": { 
      "id": "<some ID>", 
      "displayName": "user" 
     } 
    }, 
    "quota": { 
     "deleted": 4155859, 
     "remaining": 1099484034353, 
     "state": "normal", 
     "total": 1099511627776 
    } 
} 
+0

Ich habe meine Frage aktualisiert, um ein Bild der Ausgabe aufzunehmen. Alles für 'Quota' und' User' sind bei meinen Anrufen null. – jdave

+0

Können Sie die sanierte Antwort anzeigen? –

+0

Was meinen Sie mit sanierter Antwort? – jdave

2

Vielen Dank für die Meldung des Problems. Die Kontingent- und Besitzerinformationen wurden tatsächlich nicht für App Only-Aufrufe zurückgegeben, wenn Sie im Token den Bereich Files.Read.All oder Files.ReadWrite.All hatten. Ich habe das Problem behoben und der Fix sollte bald in der Produktion erscheinen. Als Problemumgehung können Sie jedoch den Bereich Sites.FullControl.All für Ihre App verwenden, der die Kontingent- und Besitzerinformationen zurückgeben soll.

+1

Danke! Haben Sie eine Schätzung, wann diese live gehen wird? – jdave

+1

Kein Problem. Es sollte nicht länger als ein paar Wochen dauern. –

+0

Dies sollte nun in der Produktion behoben werden. Bitte lassen Sie mich wissen, wenn dies nicht der Fall ist. –

Verwandte Themen