这个问题是因为访客角色缺少“账户”范围,因此无法访问帐户信息。要解决这个问题,需要将用户的角色更改为具有“账户”范围的角色,例如管理员或用户。如果无法更改用户的角色,则可以通过为访客用户创建具有“账户”范围的API密钥来解决此问题。
以下是使用Appwrite API创建访客用户并获取其帐户信息的示例代码:
import appwrite
import os
# 初始化Appwrite客户端
client = appwrite.Client()
client.set_endpoint(os.environ['APPWRITE_ENDPOINT']) # 设置Appwrite API端点
client.set_project(os.environ['APPWRITE_PROJECT_ID']) # 设置Appwrite项目ID
client.set_key(os.environ['APPWRITE_API_KEY']) # 设置Appwrite API密钥
# 创建访客用户
user = client.create_user(email='user@example.com', password='123456', name='Guest')
print('User ID:', user['$id'])
# 获取用户会话
try:
session = client.create_session(email='user@example.com', password='123456')
print('Session ID:', session['$id'])
except appwrite.exceptions.AppwriteException as e:
print('Error:', e.message)
# 获取用户帐户信息
try:
account = client.get_account()
print('Account:', account)
except appwrite.exceptions.AppwriteException as e:
print('Error:', e.message)
上一篇:AppwriteException: 用户(角色:访客)缺少范围(帐户)。GET https://cloud.appwrite.io/v1/account 401(未经授权)。
下一篇:AppwriteforFlutterCreateSessionThrowingConcurrentModificationException