Embed Kbee on your page 

Last updated by Sai Arora 2 years 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>

 
 
Refreshed On: Mar 28, 2024 13:38:24 UTC+00:00