connectByOAuth( )


Connects a Wix schedule (SDK | REST) to an external calendar account following OAuth authorization protocol.

Authorization flow

The full authorization flow looks like this:

  1. Call Connect By OAuth with the appropriate parameters.
  2. Redirect the owner of the external calendar account to the returned oAUthUrl.
  3. The account owner authorizes access.
  4. The account owner is automatically redirected to the URL you've provided in redirectUrl of the Connect By OAuth call.
  5. Save the new connectionId. You find it as a query parameter in the URL to which the account owner is redirected.

See this sample flow (SDK | REST) for more details.

Failure consequences

If the attempt to connect fails, the account owner is still redirected to the URL you specify in redirectUrl, but it incudes an error query parameter set to 1 of the following values:

  • reject: The external calendar owner has rejected the authorization request.
  • unsupported: Connecting to the user's external account type is not supported by the provider.
  • internal: An error unrelated to the client or the request that prevents the server from fulfilling the request.

Next steps

After connecting an external calendar account to a Wix schedule, you can do the following.

Check the 2-way-sync settings

Call List Connections (SDK | REST) and filter by the relevant schedule ID.

If needed, call Update Sync Config (SDK | REST) to adjust the syncing configuration.

Retrieve external calendar events

Once a connection is successfully created, you can call List Events (SDK | REST) to obtain an up-to-date list of events in the connected external calendars.

When to call Connect By Credentials instead

You can call Connect By Credentials (SDK | REST) if:

  • The external calendar provider doesn't support OAuth.
  • You don't want to redirect the account owner.

Call List Providers (SDK | REST) for a complete list of external calendar providers supported on the Wix site, including which authorization methods they support.

Authentication
  • When developing websites or building an app with Blocks, this method may require elevated permissions, depending on the identity of the user calling it and the calling user’s permissions.
  • When building apps without Blocks or for headless projects, you can only call this method directly when authenticated as a Wix app or Wix user identity. When authenticated as a different identity, you can call this method using elevation.
  • Elevation permits users to call methods they typically cannot access. Therefore, you should only use it intentionally and securely.
Permissions
Manage Bookings - all permissions
Manage External Calendars
Learn more about app permissions.
Method Declaration
Copy
Method Parameters
providerIdstringRequired

ID of the external calendar provider. Find this with the listProviders() function.


scheduleIdstringRequired

ID of the schedule to connect with the external calendar account.


redirectUrlstringRequired

URL to redirect the user to after they authorize access to the external calendar account.

If the connection is successfully established, the user is redirected to this URL with a query parameter connectionId containing the new connection ID. If the attempt to connect fails, the user is redirected to this URL with a query parameter error containing the error type.

Returns
Return Type:Promise<ConnectByOAuthResponse>
Errors
428Failed Precondition

There is 1 error with this status code.

This method may also return standard errors. Learn more about standard Wix errors.

Did this help?