Building Gmail add-ons with Angular framework? - gmail

We are finishing up an Outlook add-in which was written using Angular 8 with typescript. I am doing my investigation into what it will take to write a gmail add-on. I've gone through the quickstart tutorial using Apps Script. I've also looked at the clasp tool.
Is it possible to create a Google add-on with the angular framework?
Thank you.

Unfortunately, it is not possible to build Gmail add-ons with Angular framework.
Gmail add-ons are distinct from "Editor Add-ons"(ie. add-ons built for Google Sheets, Google Docs or Google Forms) and are developed strictly with App Script using a widget-based model.
Furthermore, Gmail Add-on development does not grant developer's direct access to the DOM.
See restrictions of Gmail addons.

The short and simple answer is no.
Google Workspace Add-ons UI are created using the Cards framework. Besides Google Apps Script, nowadays it's possible to use programming languages like Java hosted in Google Cloud Run or other hosting infrastructures as long as they deliver JSON to build the add-on UI using the Cards framework.
Reference
https://developers.google.com/workspace/add-ons/guides/alternate-runtimes

You could try using the InboxSDK.
Typically you end up having to manipluate the DOM. This tool caters for most the key functions in an easy to use library.
Not so sure how you will use Angular but it is possible to build rich experiences based on this library.

Related

Polarion Web services API - How to create a user?

Looking at the list of available polarion webservices wsdl api functions, I don't see one for creating a polarion user. I have had no luck in finding out how I can create a polarion user via scripting to the polarion soap (wsdl) API. preferably in Python.
I have not tested it but Polarions Java doc says it is possible with the ProjectWebservices class:
http://almdemo.polarion.com/polarion/sdk/doc/javadoc/com/polarion/alm/ws/client/projects/ProjectWebService.html
I actually recommend to work with Java as the API seems to be catered to this. I have not tested however if it is even possible to set up Python scripts accessing the API.
What is btw definitely NOT possible is creating projects via the API, see my answer here:
Polarion Web services API - How to create a project?

When to use which library? azure-mobile-apps-js-client and cordova-plugin-ms-azure-mobile-apps

I am confused about the following two Microsoft Azure libraries:
azure-mobile-apps-js-client
cordova-plugin-ms-azure-mobile-apps
Does anybody know which one to use when? Or what are the advantages of one over other?
From their names, it appears that the "azure-mobile-apps-js-client" will not contain cordova features while "cordova-plugin-ms-azure-mobile-apps" does. Is that the only difference?
My previous questions were more generic. So adding some more comments to give you more context on why I have those questions.
I was building an Ionic 2 app some time back then stopped it for a couple of months. Now getting back on Ionic app and see this new JS Client library (azure-mobile-apps-js-client) around. My Ionic 2 app is basically going to invoke/call REST endpoints implemented in Azure Mobile App backend developed using Node.js.
Last time when I was developing it by following Microsoft documentation for Azure Mobile Apps, I tried to use "cordova-plugin-ms-azure-mobile-apps" as per the docs.
Now I see this new library (azure-mobile-apps-js-client).
And therefore I have confusion on which one really to use. If anybody has a link that describes both of these libraries in detail and their differences then please do share the link. It would be great!
The cordova plugin is the JS client wrapped in a plugin. Use whichever is more convenient for you.

Can the spotify (windows) desktop client be extended?

I found no clues in the developer documentation, but equalify claims that it integrates into the desktop application. They don't offer a free version so I couldn't try it out.
Is it possible/supported to create extensions for the desktop client and is there some hidden documentation available?
I'd be interested in developing one, but so far I had no luck in finding any documentation.
It used to be possible using the Spotify Apps API. I think you can still manually sideload apps, but there is no App Store or similar. Moreover, support for old Spotify Apps is about to be dropped completely in the future.
So no, there's no way to extend Spotify as far as I know.

Is it possible to develop Google Chrome extensions using node.js?

I'd like to start developing Google Chrome extension using node.js (since I've already written a "text-to-song" script in node.js, and I'd like to turn it into a Chrome extension.) What would be the most straightforward way of approaching this problem?
Actually it is. Look at this Developers Live-cast. This is something I've been looking for as well, and this would help you.
This brings your node applications bundled to your browser.
Here is the repo!
EDIT:
I've noticed that this old answer of mine keeps getting upvotes now and then (thank you all).
But nowadays I'm more an advocate of using web apps instead of bundling your application into many platforms like the chrome store or whatever.
You can check the google's post here and here indicating some directions.
In practice I advise for you to start building a progressive web app (PWA) with offline capabilities using service worker and progressive stuff.
There are plenty of resources around the web nowadays and you can offer a much richer application that may achieve a much broader audience if you do it the right way.
Thanks again, and good coding.
Simple answer is NO, unless you can find a way to install node.js with an extension using NPAPI.
Nodejs and a Google Chrome Extension do have a couple things in common i.e they both understand javascript and they both use the v8 javascript engine.
Google Chrome Extension
"Google Chrome Extensions are small software programs that can modify and enhance the functionality of the Chrome browser".
To develop a Google Chrome Extension you should write some javascript and or html/css.
Then you can run the extension in your browser.
If you wish for others to download your extension you will have to provide config.json file that describes you extension sets permissions etc.
Nodejs
"Node.js is a platform built on Google Chrome's JavaScript runtime for easily building fast, scalable network applications".
To develop applications in nodejs you write some javascript and or html/css for web applications.
If wish for others to use you application you start you nodejs server and listen for incoming requests.
Summary
Despite some of the similarities a Google Chrome Extension and Nodejs have nothing to with each other. You cannot use them together in some special way outside of the normal client/server communication.
You can use a WebPack (GitHub) or Browserify (see handbook) to build web-browser extension based on the node.js code.
With Browserify, to convert your code, you can simply run:
browserify node-code.js -o node-code-out.js
Read more:
Browserify vs Webpack.
Build a Chrome Extension with Preact and Webpack (see: Preact Chrome Extension Starter).

Import/export google mail (was "[is it possible to] create custom Google Lab")

Is it possible to create a custom Google Lab project? Or do Google Engineers have to create them? I'd like to integrate Gmail with another web application on a company web server.
If that is not possible, is there a way to import/export google mail in some format (ie: XML, HTML, etc..) for a specific gmail user or group of gmail users?
No.
You're looking for the IMAP protocol, which allows you to interact with Gmail messages.
No, it's not possible. Google Labs projects are Google's own experiments, not something you can add to yourself.
As Nadir Muzaffar said, maybe Gmail's API is what you're looking for: https://developers.google.com/gmail/
I'd like to add that you may create a browser extension.
You may start with experimenting with Developer toolbar (F12) and then pack your javascript to an extension.
If you use I.E. Chrome, see I.E. https://robots.thoughtbot.com/how-to-make-a-chrome-extension or try to look at your current extensions in order to understand how it's working ( ~/.config/google-chrome/Default/Extensions/ or ~/.config/google-chrome/Default/Extensions/ )
Note that if GMail changes, your extension may not work anymore.

Resources