#Invalid url: URL host must be one of: localhost, <IP> (400)

16 messages · Page 1 of 1 (latest)

thin ruin
#

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 protected]"}
businessID: hello
email: [email protected]
Error: AppwriteException: general_argument_invalid, Invalid url: URL host must be one of: localhost, <IP> (400)
brave mirage
#

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.

thin ruin
#

yep I added host as <IP>

#

but still same error

brave mirage
#

It's better to use a valid domain name

thin ruin
#

Okay let me try that

thin ruin
#

cannot connect to custom domain @brave mirage

#

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