Back

I'm developing a CLI application using Node.js

  • 0
  • General
  • Auth
  • Web
Norman
27 Dec, 2024, 07:10

I'm developing a CLI application using Node.js and the node-appwrite package, but I'm encountering an error

TypeScript
import { Client, Account, ID } from 'node-appwrite';

const client = new Client()
    .setProject('runner')

const account = new Account(client);

async function createAccount() {
    const data = await account.create(ID.unique(), 'me@domain.com', '123456789', 'John Doe');
    console.log('Account created:', data);
}

async function login() {
    const data = await account.createEmailPasswordSession('me@domain.com', '123456789');
    console.log('Session created:', data);
}

async function getAccount() {
    const data = await account.get();
    console.log('Account:', data);
}

createAccount();
login();
getAccount();

The error occurs when calling getAccount(), and the error message is:

TypeScript
AppwriteException: User (role: guests) missing scope (account)
code: "401"

full error

TypeScript
3 | export { Query } from './query.mjs';
4 |
5 | // src/client.ts
6 | var AppwriteException = class extends Error {
7 |   constructor(message, code = 0, type = "", response = "") {
8 |     super(message);
        ^
AppwriteException: User (role: guests) missing scope (account)
 code: "401"

      at new AppwriteException ([redacted]\runner\node_modules\node-appwrite\dist\client.mjs:8:5)
      at [redacted]\runner\node_modules\node-appwrite\dist\client.mjs:278:13
TL;DR
Developing a Node.js CLI app with `node-appwrite` package. Error when calling `getAccount()`: "AppwriteException: User (role: guests) missing scope (account)". Solution: The error is due to a missing scope 'account' for the user role 'guests'. Add 'account' scope to the user role.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more