GitHub user dosubot[bot] added a comment to the discussion: GDrive list weirdness
<!-- Greeting --> Hi @funlennysub! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the opendal team. <!-- Answer --> The slow listing performance with OpenDAL's GDrive backend is due to how it resolves file paths: every path lookup triggers a network request to Google Drive unless it's already cached. For large directories, this results in hundreds of sequential API calls, which explains the long wait times compared to the raw API, which can fetch everything in a single call with a custom query and page size. OpenDAL's GDrive backend currently fetches files in fixed pages of 100 and does not honor `.limit()` or `OpArgs`—these options are ignored for GDrive listings right now, regardless of what you set in your code ([source](https://github.com/apache/opendal/blob/27d5677d4526519313cbce00cd28f8fbcc099642/core/src/services/gdrive/lister.rs)). For shared folders not owned by you, OpenDAL can't resolve the folder ID by name and doesn't include logic to traverse or list files from `sharedWithMe` folders. This is a known limitation: the backend assumes all paths are in your own drive and doesn't handle shared folders unless you already know the folder ID ([source](https://github.com/apache/opendal/blob/27d5677d4526519313cbce00cd28f8fbcc099642/core/src/services/gdrive/core.rs)). The raw API works here because you can directly query by parent ID, but OpenDAL's abstraction doesn't expose this flexibility. There are ongoing discussions and some recent changes to listing APIs in OpenDAL, but as of now, there are no documented workarounds for these GDrive-specific issues. If you need fast listing or access to shared folders, using the raw Google Drive API directly is the most reliable approach until these limitations are addressed ([source](https://github.com/apache/opendal/issues/6272)). <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/0b92007f-645f-4afd-ab3e-9e865825ba31?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/0b92007f-645f-4afd-ab3e-9e865825ba31?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/0b92007f-645f-4afd-ab3e-9e865825ba31?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/0b92007f-645f-4afd-ab3e-9e865825ba31?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/0b92007f-645f-4afd-ab3e-9e865825ba31?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/0b92007f-645f-4afd-ab3e-9e865825ba31?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/0b92007f-645f-4afd-ab3e-9e865825ba31?feedback_type=other)</sup> [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/opendal/discussions/6371) GitHub link: https://github.com/apache/opendal/discussions/6371#discussioncomment-13682664 ---- This is an automatically sent email for dev@opendal.apache.org. To unsubscribe, please send an email to: dev-unsubscr...@opendal.apache.org