Appwrite 函数返回权限错误

Gab*_*des 1 appwrite

我有一个与 appwrite 函数相关的问题,我按照教程中的示例制作了一个函数。我部署了该函数并在 appwrite 控制台中运行正常。\n但我做了一个 Web 应用程序来测试该函数,安装了 sdk并调用该函数...但始终显示一条带有 401 代码的消息,表示来宾用户没有写入权限。\n我返回到 appwrite 面板并检查了该函数的所有权限,但仍然显示该错误代码来宾用户也有同样的写入权限问题

\n

返回的错误:

\n
{message: "User (role: guest) missing scope (execution.write)", code: 401,\xe2\x80\xa6}\ncode: 401\nmessage: "User (role: guest) missing scope (execution.write)"\ntype: "general_unauthorized_scope"\nversion: "0.13.4\n
Run Code Online (Sandbox Code Playgroud)\n

我查看了文档中的示例,但没有找到可以在 SDK 中指示用户进行函数调用的位置。

\n

我被这个问题困扰了 5 天,有人知道如何解决或者可以给我一些指导吗?

\n

Appwrite 版本 0.13.4 在数字海洋服务器上运行。

\n

小智 5

阿豪那里~

您缺少的是通过登录进行的活动会话:

const sdk = new Appwrite();

sdk
    .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint
    .setProject('5df5acd0d48c2') // Your project ID
;

let promise = sdk.account.createSession('email@example.com', 'password');

promise.then(function (response) {
    console.log(response); // Success
}, function (error) {
    console.log(error); // Failure
});
Run Code Online (Sandbox Code Playgroud)

或者,您可以转到函数的“设置”选项卡,更改执行权限以包含“角色:来宾”。

出于明显的安全原因,我不鼓励使用第二个选项(每个人都可以执行您的函数)。

干杯,

文森特