Ich habe mit PHP eine Funktion erstellt, um einen neuen Benutzer in Appwrite zu erstellen. Nach der Ausführung ist die Ausgabe:
<?php use Appwrite\Client; use Appwrite\Services\Users; require_once 'vendor/autoload.php'; return function ($req, $res) { $client = new Client(); $users = new Users($client); if ( !$req['variables']['APPWRITE_FUNCTION_ENDPOINT'] || !$req['variables']['APPWRITE_FUNCTION_API_KEY'] || !$req['variables']['APPWRITE_FUNCTION_PROJECT_ID'] ) { return $res->send('环境变量未设置。函数无法使用Appwrite SDK。', 500); } $client ->setEndpoint($req['variables']['APPWRITE_FUNCTION_ENDPOINT']) ->setProject($req['variables']['APPWRITE_FUNCTION_PROJECT_ID']) ->setKey($req['variables']['APPWRITE_FUNCTION_API_KEY']) ->setSelfSigned(true); $userData = $req['data'] ?? []; $userId = $userData['userid'] ?? ''; $name = $userData['name'] ?? ''; $email = $userData['email'] ?? ''; $password = $userData['password'] ?? ''; if (empty($userId) || empty($name) || empty($email) || empty($password)) { return $res->send('缺少必需的用户数据。', 400); } $user = [ 'userid' => $userId, 'name' => $name, 'email' => $email, 'password' => $password ]; return $res->json(['user' => $user]); };
您的所有用户数据可能为空,因为您正在从
$req['data']
读取,但输入数据在$req['payload']
中。文档说明如下:
有关更多信息,请参阅https://appwrite.io/docs/functions#writingYourOwnFunction。