Is it possible to delete Google Other Contacts via Apps Script? - google-people-api

Scenario
I'm a Google Workspace for Education admin. Every year we rename students' group names, but not their email addresses (ie '1st class' chimps#mydomain.edu becomes '2nd class' chimps#mydomain.edu)
when teachers search for groups (in Gmail, Classroom, etc.), autocompletion shows both the old and the new name: this is confusing, although groups and members are ok
this happens because on every first interaction with the group, user's Contacts app automatically save it in Other contacts; at new year's change, a new Other contact is added (not updating the previous one)
Long solution
Every teacher open Contacts > Other contacts and manually deletes the 'old groups', every new year
What I would
on new year beginning, a script that searches for Other contacts and deletes every students group if found (both a script that perform this on every user with domain-wide authority delegation to service account, or a web app that every teachers runs as himself would be ok); so no more old autocompletion, and new ones recreated at next interaction
I'm able to write down the script by myself, but I can't solve the followings
The problem
People API methods don't seem to support this in any way
People.People.deleteContacts only works on Contacts, but not on Other Contacts
People.OtherContacts methods seem to be readonly
tried to override this using People.OtherContacts.copyOtherContactToMyContactsGroup, and then deleting the contact - not working, the method creates a copy of the Other Contact, it seems not to be moving it from Other Contacts to Contacts
but if I try this last thing from Contacts web app, I can add the Other Contact to Contacts, and this operation moves (not copies) the contact!
so:
am I missing anything that could do what I need via Apps script?
is there a way to replicate this last behavior (moving from Other contacts to Contacts, instead of creating a copy) in Apps script?
thank you in advance

As mentioned in the documentation, you are only able to Read, Copy, and Search "Other contacts".
You can create a Feature Request on Google's Issue tracker to ask for the contact to be editable.

Related

How to delete an app from developers.vimeo.com?

I created wrongly 2 times the same app on developers.vimeo.com. My goal was to create the new one on a new account and then delete the old one from the first account, but, due to a monster bug on vimeo login, I logged with my second account and finished logged with the first one. ... but this is not my question.
The simple question is: what's the right path to delete a existent app ?
We can't find a delete button on the developer panel.
Currently, it is not possible to delete API apps created on your Vimeo account.
However, there is no limit to the number of API apps you can create, as long as you follow the Developer Guidelines (https://developer.vimeo.com/guidelines).
That said, if you would like your app manually deactivated, you can always reach out to Vimeo support for further assistance- https://vimeo.com/help/contact.

google developer transfer app with subscriptions

we have developed an app for customer. This app contains subscriptions and we tested them in real world. Then we stop tests and refund all money back. Now, we are unable to transfer app because of active subscriptions (Google told us - after transfer initiaded - that it's not possible, we do not know this... unfortunately). Read so many stories about fact, that this is not possible to change anything if some subscriptions was paid. But Google test payment system didn't work how we expected, so we need to test it in real way... now we are stuck in circle.
Because we have only one app under our account, we agreed with customer to give him logon & other infos in order to get app for him. Unfortunately, we are unable to change country for merchant account. Is it possible to solve this? Or we do need to make new package under customer developer account and then unpublish current app and create a new one with same name?
If unpublish/publish is only way, how can we do this in order to do not hurt any current customer? App is not paid for now. but customer want to start app in new country and want to activate payment system. Unfortunately we are eu residents, and customer seat in Singapore... so we are unable to put his bank account either.
Do we have any options? Or, can we contact Google e.g. by phone? I try to call to Google in CA and have no success.. no live operator, only phone robots there..

joomla 2.5 custom extension about users

I want your help to solve a problem in a site.
I know that when a user makes a subscription in the site through joomla log in form , it is stored in a table in sites database.
I want to the user to be stored in a custom table that I will make and it will be somewhere in the site.
The result I would like to be like this:
The site is for a school. Each student will made a subscription and his/her name will be stored to a table with lessons of the school. The teachers will log in the site and they will have to put the test results of each student in each lesson in this table.
it will be like:
lesson 1----lesson 2-----lesson 3
user's name 1-------- grade----grade----------grade
user's name 2-------- grade----grade---------- grade
You will need to look into custom component creation. As it is quite a simple component, the available component creators may do most of this for you. However it makes sense to understand the basics of how a component works first so that you know how to tweak and test it.
Simple components like this are ultimately just data entry into a single table, which is what most tutorials will cover. Components get more complex when interacting with other components or require more tables.
If students do not need to log-in to the site (and if they are unlikely to in future), then they do not need to be made users, but rather can just be a component item which is created by the teachers when they enter the data. If students need to log-in, then the id of the #__users table should be the match field in the new table.
When adding users to a site, it is important to make sure their permissions are set correctly so that they cannot access inappropriate data or make changes that they are not permitted to.
Also : If you are storing private information, it is particularly important that you keep Joomla patched for security - 2.5 is now rather out-of-date.

django group permissions for online collaboration

I am working on a database project for different users in Django, but I don't understand nearly enough about the idea of groups and permissions to know where to start for allowing users to collaborate on projects.
Essentially, I want each project (and its entries) to be owned by the person who created it (this part I have covered), but I also want users to be able to add usernames for other users onto each project (and its entries) so that other users can view the project, the entries, update them and create new entries for that project.
Also I want it to display only projects & entries that the user has either created or is a collaborator on.
I've never worked with permissions before and while I'm reading through "Using the Django authentication system" I'm not having much luck getting my head around it. Are there any good writeups on how to incorporate this or maybe something from another perspective or a tutorial?
I had originally made a text field column where a user could add usernames of fellow collaborators, then the views would check it and if one of the usernames matched the logged in user, it would allow them to view that project, but it sounds like this is not the secure way to go.
Thanks for any help.

Sitecore ECM how to track the same user's activities in different target audiences

We are using Sitecore 6.5, and the Email Campaign Manager 1.3.3 rev.130212 is installed.
Currently, when i add a Sitecore user, for example 'UserA' to multiple target audiences, lets say 'TargetAudience_A' and 'TargeAudience_B', after I send out these two target audiences, 'UserA' clicks the link in the email which comes from 'TargetAudience_A', then the link will bring user to the site, user visits several pages, Sitecore Analytics will be able to track 'UserA' VisitPageCount and Value, and creates the corresponding campaign of 'TargetAudience_A' with that data.
When the user opens the email sent from 'TargetAudience_B' and clicks the link, visits the site, NO campaign is created for 'TargetAudience_B' in the database, I can see all the data should use to create a new campaign for 'TargeAudience_B' is used to update campaign of 'TargetAudience_A'.
The whole link in the sent email has been modified by Sitecore, the corresponding campaign id is added, which makes the link looks like this:'httP:xx.domain.com/?ec_camp=xxxx&ec_as=xxxx'.
It seems that Sitecore just adds an Id to the url, but does not create a campaign for the 'TargeAudience_B' with that Id.
I use this sql query to check the visits data:
Select * From Visits join Automations on Visits.CampaignId = Automations.CampaignId
Where Automations.data = '{EmailTemplateId}'
the data column on Automations table is the email template id of the target audience.
Does any one know, how to track one user's activities for multiple campaigns? Is this possible to do? Or is this something which needs to be fixed by Sitecore?
Any help will be much much appreciated.
Thanks
EDIT: Sitecore does create Campaign for each target audience, but does not create Visits record for every one of them; Sitecore associates Campaign with the Visits, Sitecore cannot find\create Visits of 'TargeAudience_B', it finds the Visits of 'TargeAudience_A', for some reason it just updates the Visits record of 'TargetAudience_A'.
This does look right, does Sitecore create just one visit for a visitor a day no matter how many target audience this visitor in?
Neither target audience, the Visitor.ExternalUser or anything other than a fresh Visitor cookie will make DMS re-consider your visitor. So to answer your question, I do believe you are correct in your observation, and that this behavior is by design.
Also keep in mind; if your users click the email you send out from say their iPhone and come visit the site, they will be granted a Visitor ID. Later, when they're back home at their PC and click the same email again, they will get a fresh Visitor ID and will not be recognized by DMS as one and the same Visitor. This too, is by design.
If you want to achieve what I believe you're aiming to achieve, you're going to have to "tag" your Visitors with a key you recognize - like the email address - and then hook into the APIs and "grab" all Visitors that match your tagged email address. Not sure how well this will work with all areas of the DMS.
In my example above; if a user was triggered to enter an Engagement Plan or a State in an Engagement Plan - the "iPhone Visitor" would get attached to it - and any actions undertaken by the same person on his personal PC visitor profile on his desktop PC would not be affecting anything in this state.
Yes, it is a bit confusing - I may even have some slight details of this wrong - the DMS API changes a lot. But as far as I can determine, the above is correct and all by design.