Back
[SOLVED] Cloud Function with Storage: (role: applications) missing scope (files.read)
- 0
- Functions
- Storage

I am creating a function which I need to get a files
TypeScript
module.exports = async function (req, res) {
const client = new sdk.Client();
// You can remove services you don't use
const database = new sdk.Databases(client);
const storage = new sdk.Storage(client);
if (
!req.variables["APPWRITE_FUNCTION_ENDPOINT"] ||
!req.variables["APPWRITE_FUNCTION_API_KEY"]
) {
console.warn(
"Environment variables are not set. Function cannot use Appwrite SDK."
);
} else {
client
.setEndpoint(req.variables["APPWRITE_FUNCTION_ENDPOINT"])
.setProject(req.variables["APPWRITE_FUNCTION_PROJECT_ID"])
.setKey(req.variables["APPWRITE_FUNCTION_API_KEY"])
.setSelfSigned(true);
}
// parse json
const data = JSON.parse(req.variables["APPWRITE_FUNCTION_EVENT_DATA"]);
var file;
file = await storage.getFile(data.bucketId, data.$id);
res.json({
areDevelopersAwesome: true,
payload: file,
});
};
The error response please see the image attach:
TL;DR
The user encountered an error with their cloud function, specifically with the missing scope "files.read". Another user suggested checking if the API key has the correct scope. The code provided uses the Appwrite SDK to fetch a file from storage. However, the user did not mention a specific error message or attach an image for reference.
Solution: Add the "files.read" scope to the API key in order to resolve the error.
Did you gave the API key the file.read scope?

ohh I see thank you

[SOLVED] Cloud Function with Storage: (role: applications) missing scope (files.read)
Recommended threads
- What’s the current approach for always o...
Read that it’s not a thing out of the box, but what’s the possible setup here?
- Query.equal error
Hi guys. I'm using Appwrite Cloud, and I'm using version 21 of node-appwrite to benefit from transactions. The problem is I seem to be getting an error when I u...
- I am trying to run appwrite storage list...
Hello! I am trying to use a command to return all of my files from my bucket. This is the cmd I am currently running: "appwrite storage list-files --bucket-id <...
