microsoftgraph / microsoftgraph/msgraph-sdk-java

byDriveItemId.patch() returns 204 No Content and fails on OneDrive Personal Accounts

Offen
#2,546 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

status:waiting-for-triage type:bug
Vorherrschende Sprache
Java
Sterne
444
Forks
154
Ø Merge
18 Std. 28 Min.
Gemergte PRs (30 T.)
4

Beschreibung

Describe the bug

Using the graph sdk client I can't update (rename, move, or change any metadata) when I'm specifiying an itemId, instead of the path to the actual file.

Expected behavior

Works the same as on OneDrive Business.

How to reproduce
package com.microsoft;

import com.azure.core.credential.AccessToken;
import com.azure.core.credential.TokenCredential;
import com.azure.core.credential.TokenRequestContext;
import com.microsoft.graph.models.DriveItem;
import com.microsoft.graph.serviceclient.GraphServiceClient;
import java.time.OffsetDateTime;
import reactor.core.publisher.Mono;

public class App {
    public static void main(String[] args) {
        final GraphServiceClient graphClient = new GraphServiceClient(
                new TokenCredential() {
                    @Override
                    public Mono<AccessToken> getToken(TokenRequestContext request) {
                        return Mono.just(new AccessToken(
                                "***",
                                OffsetDateTime.now().plusDays(1)));
                    }
                });
        final DriveItem newMetadata = new DriveItem();
        newMetadata.setName("000");
        final DriveItem result = graphClient
                .drives().byDriveId("097…")
                .items().byDriveItemId("97…!s0c…")
                .patch(newMetadata);
        if (result instanceof DriveItem) {
            System.out.println(result.getName());
        } else {
            System.out.println("Patch returned null");
        }
    }
}
SDK Version

No response

Latest version known to work for scenario above?

Microsoft Graph REST API before 2025-11-12.

Known Workarounds

Using drives/{driveId}/root:/path/to/file to patch, but according to the documentation page using Item IDs is preferred, also this option isn't exposed in the Java Sdk.

Debug output
Click to expand log
> PATCH /v1.0/drives/097…/items/97…!s8… HTTP/1.1
> Accept: application/json
> Content-Type: application/json
> Transfer-Encoding: chunked
> Host: graph.microsoft.com
> Connection: Keep-Alive
> Accept-Encoding: gzip,deflate
> Authorization: ********
> Prefer: Include-Feature=AddToOneDrive
< HTTP/1.1 204 No Content
< Cache-Control: max-age=0, private
< Strict-Transport-Security: max-age=31536000
< request-id: d90b78b1-b92c-4038-8c44-f1dd39f9c8cd
< client-request-id: d90b78b1-b92c-4038-8c44-f1dd39f9c8cd
< x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"Germany West Central","Slice":"E","Ring":"4","ScaleUnit":"007","RoleInstance":"FR2PEPF00000F84"}}
< SPLogId: 65a8f6a1-e0bf-f000-6d60-d5c4d2d3abfd
< Date: Fri, 13 Feb 2026 18:53:07 GMT
Configuration

No response

Other information

This started failing around 2025-11-12.

Also: rclone/rclone#9150
https://github.com/iterate-ch/cyberduck/pull/17882
https://github.com/iterate-ch/onedrive-java-client/pull/53

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem im Reproduktionsbeispiel gezeigten item-ID PATCH-Aufruf von GraphServiceClient und vergleiche sein Verhalten mit dem dokumentierten pfadbasierten Workaround. Reproduziere die Aktualisierung mit einem OneDrive Personal-Konto und überprüfe anschließend, dass item-ID-Aktualisierungen das erwartete DriveItem statt einer unbrauchbaren 204-Antwort zurückgeben; es wird keine Repository-Datei und kein Test genannt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.