I created a dart function that adds user to team, when I call teams.createMembership I got this error
Error: AppwriteException: general_argument_invalid, Invalid url: URL host must be one of: localhost, <IP> (400)
Code
if (req.variables['APPWRITE_FUNCTION_ENDPOINT'] == null || req.variables['APPWRITE_FUNCTION_API_KEY'] == null) {
print("Environment variables are not set. Function cannot use Appwrite SDK.");
return;
}
try {
print("Initing function");
final client = Client();
client
.setEndpoint(req.variables['APPWRITE_FUNCTION_ENDPOINT'])
.setProject(req.variables['APPWRITE_FUNCTION_PROJECT_ID'])
.setKey(req.variables['APPWRITE_FUNCTION_API_KEY'])
.setSelfSigned(status: true);
final teams = Teams(client);
print("client init");
print("Data type: ${req.payload.runtimeType}");
print("Data: ${req.payload}");
Map<String, dynamic> payload = jsonDecode(req.payload.replaceAll("\n", ""));
String businessID = payload['businessID'];
String email = payload['email'];
print("businessID: " + businessID);
print("email: " + email);
await teams.createMembership(
teamId: 'business',
email: email,
roles: [],
url: 'url.com'
);
res.json({
'success': true,
});
} catch (e) {
print("Error: $e");
res.json({
'success': false,
});
}
Here is the logs
Initing function
client init
Data type: String
Data: {"businessID": "hello","email": "email@email.com"}
businessID: hello
email: email@email.com
Error: AppwriteException: general_argument_invalid, Invalid url: URL host must be one of: localhost, <IP> (400)
For instance, when you create a web app, you need to add it as a platform in your Appwrite console (the dashboard). When you do so, you're asked for a "hostname" which is essentially the domain of the app that will sending requests to your appwrite endpoint.
If you add something like mydomain.com as the hostname for your web platform, then you can only use mydomain.com as the base URL for the teams.createMembership redirect parameter.
yep I added host as <IP>
but still same error
i don't think IPs are a good way to do this
It's better to use a valid domain name
Okay let me try that
cannot connect to custom domain @safwan
I changed _APP_DOMAIN and _APP_DOMAIN_TARGET as appwrite.mydomain.com
and added A record to my server api from dns dashboard to appwrite.mydomain.com
but it does not works, do I need any more conifguration
also generated ssl
finally added custom domain, but still same error
Error: AppwriteException: general_argument_invalid, Invalid url: URL host must be one of: localhost, appwrite.mydomain.com
yep finally fixed, I needed to give valid url for the redirect for teams.createmembership
Recommended threads
- Cannot use custom SMTP for messaging (SM...
Hey there! I'm on Appwrite Self-hosted 1.9.0. I've never used the messaging feature before, always sent emails through functions or a custom backend, but I'v...
- CORS errors in Obsidian custom plugin
Hi, anyone here familiar with obsidian community plugins? In short: it's a local first note app which supports writing your own add-ons / plugin But I keep get...
- Appwrite 1.9.0 doctor fails tho database...
So i was testing in a local environment the upgrade for 1.9.0, and after getting everything into a running state, i checked the logs that shows : ``` └── Cre...