How to get Google Chat ID in Apps Script - google-apps-script

I am using AppMaker I would like to get the Chat ID of a user so I can open a chat window in a new tab to that user. However, I don't see a way to get it.
To be clear, I want the part at the end of a URL like this:
https://chat.google.com/u/0/dm/pUR6NABBAAE
For some reason this ID is different from the old Hangouts chat ID (which I get from the Person datasource).
Is there a way to do this? I have looked at the docs and searched StackOverflow but do not see anybody trying to do this.

No, there is no way to do what you want as of now.
Google is always receiving Feature Requests for their APIs so you could try submitting it there.
However, since the Hangouts API is directed at Bots and Google has a compromise to not create avenues for spammers, I doubt that will be implemented.

Related

MegaAgent & SubAgent relation in Dialogflow with Google Hangouts API in Google Apps Script - Choose SubAgent based on input from user in runtíme

So my problem is that I'm bulding a Dialogflow chatbot with the Google Hangouts API in Google Apps Script.
Everything works, the relation between them and the intents get activated.
But now we want to work with the Mega/ & Sub-agents, and let say we have similar training phrases in multiple SubAgents, but you need to choose a certain department (subagent) to ask question within. Have someone worked with this type of solution?
We want to build like this because we want to let the business create the questions and they don't really see what the other deparments create in their subagents.
And the problem is that the MegaAgent can't have any intents to point to the right directions.
So it would be nice to let the bot start with a question and ask for what area you want to ask your questions in runtime based on threads or something like that.
And the function onMessage(event) is alwaysed triggered when the user answers..
I saw that this one asked for the same problem but couldn't find any solution to this

Is there a way to automatically delete emails from a Google Workspace Google Groups?

I was wondering if there is a way to automatically (or on a trigger) delete emails from a Google Group.
I use a Collaborative Inbox Group for archiving automated emails.
I looked at the Google Apps Script overview for Google Groups, but I don't see anything. It only seems like you can do this from GmailApp...
I also read this thread from 2012 but nothing helpful there
Answer:
Programmatically this isn't possible.
More Information:
The GroupsApp class of Apps Script only has read methods available for use - there is not a way of executing any write data using the class - for example deletion of emails.
Emails are sent to everyone in the group when a post is made (as per subscription settings). If you want the Email to be deleted then as you have already pointed out, you will need to use GmailApp to delete it from the recipients' inboxes.
In short: All mailbox manipulation must be done using the Gmail API (or GmailApp).
Feature Request:
You can however let Google know that this is a feature that is important for access to their APIs, and that you would like to request they implement it.
Google's Issue Tracker is a place for developers to report issues and make feature requests for their development services, I'd urge you to make a feature request there. The best component to file this under would be the Admin SDK component, with the Feature Request template.

google hangout chat can bots message bots?

I have a use scenario where I'm testing a bot in google hangout. To facilitate testing of multiple users, I'd like to create a series of other bots that replicate the functions of users. But this is all dependent on the bots in the room listening to one another. It also requires that I get the userid of the bots so they can name each other. In Google Scripts I can find no way to retrieve that (the rest API is not an option).
Any suggestions?
The information is documented, but I understand GCP docs aren't the easiest to navigate. According to the Event Format reference: "Only messages from "real", non-bot users are delivered to bots. A bot will never receive messages posted by itself or by a different bot."
So the answer to the question appears to be no. Bots do not appear to be able to talk to each other. When you put the userid in the text property of the bot it does not replace it to an #botname as it does with human users. If anyone can figure out another way to do it I would appreciate it.
But the second question of where to get the bots userid I can now answer and I leave here in case anyone else is curious. This appears only in a message event, when a bot is mentioned as the property event.message.annotations[0].userMention.user.name

Google MAP API | Push Notification for Website

I am using Google Maps API for a project whose functionality is something like below
Functionality achieved:
When user sign in they see map and their current location is traced. Users can mark their favorite location and add a comment.
Functionality required and I need help in:
When any user passes through any location in real time, then my web application should send a notification saying "you are someone's favorite place do you want to add comment and xyz..."
Can anyone help me even with a hint on how I can achieve this for the web application?
P.S: I am not using any mobile application for this purpose. This is a web application.
It sounds like you're already set up with getting the user's location through the browser geolocation api when the page loads. My suggestion is to get the user's location again on a certain interval, every couple minutes maybe. If the new location is more than a little bit different than the previous location, send an ajax request to your server, see if the new location is near one of these favorite places, and if so, display a notification that they are near this place.

GCM: Subscribe Chrome extension to a topic

I'm currently trying to develop a Chrome extension which can receive notifications using GCM. When the extension is first installed, I register it using chrome.gcm.register(['my_sender_id'], function(registration_id) { console.log(registration_id); });.
I would like to send push messages to everyone who has the extension installed. However, the problem is that GCM requires you to specify the registration ID's of everyone you want to send the message to; you can't just send it to everyone who's connected to the sender ID.
While it would be possible to push the registration ID to a database when the extension is installed, and then consult this database each time I want to send a message, this solution seems sub-optimal (also from a security point of view, since the pushing of the registration ID would be done client-side).
However, Google introduced a solution for this a few years ago: topics. It's possible to simply register each device to a 'global' topic (for example) and when you then want to send a message, you only have to specify the 'global' topic as the receiver. However, I can't find how this registration process is done for Chrome extensions. I've looked everywhere, but it seems like Chrome's GCM module doesn't support this yet. Am I correct in this and if so, is there an alternative way to pull this off?
Any help would be greatly appreciated!
If you call chrome.instanceID.getToken and then use the InstanceID API from your server to subscribe to a topic, it seems to work, but then the chrome extension doesn't get messages when you push to that topic, so I'm not sure if Google just needs to enable something on their side to make it work. But this is the closest I could get to it in any case.
firebaser here
Thanks for the great feedback. There is no way at the moment to subscribe to a topic from a browser. We're aware that having such an API would simplify the development model. We'd love to add this to Firebase, but as usual can't make any promises or commitments.