Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Last active October 13, 2023 12:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenwebb/d72d3649a1ab4934280fc24cc7ab0146 to your computer and use it in GitHub Desktop.
Save kenwebb/d72d3649a1ab4934280fc24cc7ab0146 to your computer and use it in GitHub Desktop.
Google Calendar
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Fri Oct 13 2023 08:05:54 GMT-0400 (Eastern Daylight Saving Time)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: Google Calendar
Description:
Url: http://www.primordion.com/Xholon/gwt/
InternalName: d72d3649a1ab4934280fc24cc7ab0146
Keywords:
My Notes
--------
13 Octoer 2023
This workbook explores the use of Google Calendar and how to access it from a web site.
### TODO
- try ref [6] with my calendar
it creates some html that can be added to a web page
- look at the web sites that Andrea knows about to see what they do
### References
(1) search: Google Calendar
(2) https://calendar.google.com/
this displays my personal calendar, with the day set to today
(3) https://developers.google.com/calendar/
Develop Google Calendar solutions.
(4) https://developers.google.com/calendar/api/guides/overview
Google Calendar API overview
The Google Calendar API is a RESTful API that can be accessed through explicit HTTP calls or using the Google Client Libraries.
The API exposes most of the features available in the Google Calendar Web interface.
(5) https://developers.google.com/calendar/api/quickstart/js
JavaScript quickstart
Quickstarts explain how to set up and run an app that calls a Google Workspace API.
Google Workspace quickstarts use the API client libraries to handle some details of the authentication and authorization flow.
We recommend that you use the client libraries for your own apps.
This quickstart uses a simplified authentication approach that is appropriate for a testing environment.
For a production environment, we recommend learning about authentication and authorization before choosing the access credentials that are appropriate for your app.
Create a JavaScript web application that makes requests to the Google Calendar API.
KSW this may be more than we need.
(6) https://support.google.com/calendar/answer/41207?hl=en
Add a Google calendar to your website
You can add an interactive version of your calendar to your website, and add buttons for your website visitors to save your calendar events.
KSW this may be what we need
]]></Notes>
<_-.XholonClass>
<!-- domain objects -->
<PhysicalSystem/>
<Block/>
<Brick/>
<!-- quantities -->
<Height superClass="Quantity"/>
</_-.XholonClass>
<xholonClassDetails>
<Block>
<port name="height" connector="Height"/>
</Block>
</xholonClassDetails>
<PhysicalSystem>
<Block>
<Height>0.1 m</Height>
</Block>
<Brick multiplicity="2"/>
</PhysicalSystem>
<Blockbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var a = 123;
var b = 456;
var c = a * b;
if (console) {
console.log(c);
}
//# sourceURL=Blockbehavior.js
]]></Blockbehavior>
<Heightbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var myHeight, testing;
var beh = {
postConfigure: function() {
testing = Math.floor(Math.random() * 10);
myHeight = this.cnode.parent();
},
act: function() {
myHeight.println(this.toString());
},
toString: function() {
return "testing:" + testing;
}
}
//# sourceURL=Heightbehavior.js
]]></Heightbehavior>
<Brickbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
$wnd.xh.Brickbehavior = function Brickbehavior() {}
$wnd.xh.Brickbehavior.prototype.postConfigure = function() {
this.brick = this.cnode.parent();
this.iam = " red brick";
};
$wnd.xh.Brickbehavior.prototype.act = function() {
this.brick.println("I am a" + this.iam);
};
//# sourceURL=Brickbehavior.js
]]></Brickbehavior>
<Brickbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
console.log("I'm another brick behavior");
]]></Brickbehavior>
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml,
<svg width="100" height="50" xmlns="http://www.w3.org/2000/svg">
<g>
<title>Block</title>
<rect id="PhysicalSystem/Block" fill="#98FB98" height="50" width="50" x="25" y="0"/>
<g>
<title>Height</title>
<rect id="PhysicalSystem/Block/Height" fill="#6AB06A" height="50" width="10" x="80" y="0"/>
</g>
</g>
</svg>
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient>
</XholonWorkbook>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment