msgraph-sdk-java icon indicating copy to clipboard operation
msgraph-sdk-java copied to clipboard

can't access oneDrive recycle bin

Open rpicot-lecko opened this issue 11 months ago • 1 comments

Describe the bug

from an app with Application permissions.

I try to get the recycle bin content of a user with using the call listed here https://learn.microsoft.com/en-us/graph/api/filestoragecontainer-list-recyclebinitem?view=graph-rest-1.0

that is to say GET /storage/fileStorage/containers/{containerId}/recycleBin/items

In containerId, I put the driveId of the user.

with the last java sdk, it looks like this graphClient.storage().fileStorage().containers().byFileStorageContainerId(fileStorageContainerId).recycleBin().items().get();

But I get this error com.microsoft.graph.models.odataerrors.ODataError: One of the provided arguments is not acceptable.

but using the same driveId, this call do work as intended graphClient.storage().fileStorage().containers().byFileStorageContainerId(fileStorageContainerId).drive()

I do have the permission FileStorageContainer.Selected enabled for the application

I already tried to ask in another place to see if there is a problem with the way I use the call but didn't have any relevant anwers. https://learn.microsoft.com/en-us/answers/questions/2180582/getting-the-contents-of-the-recycle-bin-from-msgra

Expected behavior

this call graphClient.storage().fileStorage().containers().byFileStorageContainerId(fileStorageContainerId).recycleBin().items().get();

should give me a list of drive items

How to reproduce

with app permission, call this and put in fileStorageContainerId a user's drive id.

graphClient.storage().fileStorage().containers().byFileStorageContainerId(fileStorageContainerId).recycleBin().items().get();

If the problem is reproduced, you will get an error

here is a complete code

import com.azure.identity.ClientSecretCredential;
import com.azure.identity.ClientSecretCredentialBuilder;
import com.microsoft.graph.models.RecycleBinItemCollectionResponse;
import com.microsoft.graph.serviceclient.GraphServiceClient;
import jakarta.annotation.PostConstruct;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class RpiApigraphTestApplication {

    public static void main(String[] args) {
        SpringApplication.run(RpiApigraphTestApplication.class, args);
    }

    @PostConstruct
    public void myMain() {
        final String clientId = "";
        final String tenantId = "";
        final String clientSecret = "";

        final String[] scopes = new String[]{"https://graph.microsoft.com/.default"};

        final ClientSecretCredential credential = new ClientSecretCredentialBuilder()
                .clientId(clientId).tenantId(tenantId).clientSecret(clientSecret).build();

        if (null == scopes || null == credential) {
            System.out.println("error");
        }

        final GraphServiceClient graphClient = new GraphServiceClient(credential, scopes);

        String fileStorageContainerId = ""; //put the driveId Of a user Here


		//works as intended
        graphClient.
                storage().fileStorage().containers().byFileStorageContainerId(fileStorageContainerId).drive();


		//will return an error
        RecycleBinItemCollectionResponse result =
                graphClient.
                storage().fileStorage().containers().byFileStorageContainerId(fileStorageContainerId).recycleBin().items().get();

		
        System.out.println("");
    }

}

SDK Version

6.29.0

Latest version known to work for scenario above?

No response

Known Workarounds

No response

Debug output

error 400

Method threw 'com.microsoft.graph.models.odataerrors.ODataError' exception. com.microsoft.graph.models.odataerrors.ODataError: One of the provided arguments is not acceptable.

Configuration

No response

Other information

No response

rpicot-lecko avatar Mar 07 '25 02:03 rpicot-lecko

hello, we are having the same issue here. Thanks for your help

kdebdi avatar Jul 24 '25 09:07 kdebdi