Embed Kbee on your page

Last Modified Avatar

Last updated by Sandeep Dinesh 4 months ago

Using the KBee Embedded SDK, you can embed Kbee on your page. You can even embed Kbee behind your own login!

Get your API Key

From your Kbee dashboard, copy your API Key. We will use it in the next step.
Image 1

Whitelist Domain Origin

Add the website origin of the page or pages you will be embedding Kbee into. For security reasons, the Kbee SDK will not work on pages not included here.
Image 2

Install Kbee Embedded (Simple)

On your website, add the following script tag to your page’s <HEAD> tag:
<script src="https://cdn.jsdelivr.net/gh/kbee-app/embedded@latest/dist/kbee-embedded.js"></script>
You can now select a target to render the Kbee content into. The Kbee SDK will automatically authenticate your users if you are using password protection.
Kbee.render({ target: '#kbee-content', spaceUrl: 'https://yourspace.kbee.app', apiKey: '<YOUR-API-KEY>' })

Advanced Installation

You can also use NPM to install the package. This is the recommended method if you are using a modern build system for your website.
First, install the package:
npm i @kbee-app/embedded --save
Then you can use the package
const renderKbee = require('@kbee-app/embedded') renderKbee({ target: '#kbee-content', spaceUrl: 'http://yourspace.kbee.app', apiKey: '<YOUR-API-KEY>' })

Note: You can find the full documentation on the GitHub page

Sample HTML

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title> YOUR TITLE </title> <script src="https://cdn.jsdelivr.net/gh/kbee-app/embedded@latest/dist/kbee-embedded.js"></script> </head> <body> <div id="kbee-content" style="width:100vw;height:100vh"></div> <script> Kbee.render({ target: '#kbee-content', spaceUrl: 'https://yourspace.kbee.app', apiKey: '<YOUR-API-KEY>' }) </script> </body> </html>
This sample should get you up and running quickly!

Removing the Logo

When running in embedded mode, you may not want to display your logo inside Kbee. For example, you may already have your logo on your page.
To remove the logo from the embedded mode, go to Settings β†’ Security β†’ Hide Logo on Embedded Pages
Image 3
Click save to update your pages.

Require Page to be Embedded

You can also require that users only access your space in the embedded mode. Yo do this, switch on β€œRequire Page to be Embedded”
Image 4

Security Considerations

Embedded mode lets users access your space even if access to your space is restricted. Anyone who can access the embedded page can access your space. This is very convenient when you want to lock access behind your own login, but there are some things to be aware of.

Google Docs

If your space only consists of Google Docs, everything will work as expected in embedded mode.

Other content (PDFs, Slides, Sheets, etc)

Non Docs content requires the user to have access to the underlying item in Google Drive. If you know who the users or groups accessing your space will be, you can add them in Kbee or Google Drive.
If you do not know ahead of time who your users will be, the best choice is to turn on link sharing on the space. This will allow anyone to view the content without needing to be explicitly shared on Google Drive.
However, this means that folks who guess your Google Drive folder’s ID will be able to view your content. Guessing this ID is not easy, but it may be possible.

React Support

In order to use this library with React, the render function call must be used inside a useEffect hook. You also need to use the bypassDocumentLoadEvent in order for things to work.
import { useEffect } from 'react' import Kbee from '@kbee-app/embedded' export default function Test() { useEffect(() => { Kbee({ target: '#kbee-content', spaceUrl: 'http://yourspace.kbee.app', apiKey: '<YOUR-API-KEY>', bypassDocumentLoadEvent: true }) }, []) return <div id='kbee-content' style={{ width: '100vw', height: '100vh' }} /> }

Vue Support

In order to use this library with Vue, the render function should be called at mounted. You also need to use the bypassDocumentLoadEvent in order for things to work.
<template> <div id="kbee-content" style="height: 100vh; width: 100vw;" /> </template> <script> import Kbee from "@kbee-app/embedded"; export default { name: "KbeeContent", mounted() { Kbee({ target: "#kbee-content", spaceUrl: 'http://yourspace.kbee.app', apiKey: '<YOUR-API-KEY>', bypassDocumentLoadEvent: true, }); }, }; </script>

Can't find what you're looking for?

Contact Us
Refreshed On: May 25, 2022 07:05:59 UTC+00:00