Reputation: 21
I've been working for Google Apps Script for a while. I have many programs where I've authorized Gmail, Docs, Drive, Calendar, UI, etc... I'm just now adding Contacts...but it is not working
My first step is to Contacts.createContact(), but this is failing no matter what I've done. Documentation says that the "https://www.google.com/m8/feeds" scope is needed. I have that. I also added "https://www.googleapis.com/auth/contacts"
I've turned on API in the Admin for the Workspace. I've made the app the trusted. I've removed authorization for everything and readded. The odd thing is that in giving authorization when it lists everything asking for permissions, under contacts is says "Contacts: See, edit, delete..." It specifically does not say "Create".
I've followed all of the documentation I can find for Google and turned on everything and given permissions to everything. Still, I cannot createContact.
Upvotes: 0
Views: 286
Reputation: 21
I didn't post code, because it was not a code problem. After hours and hours of trial and error, I found the problem. This is not documented anywhere that I could find in Google. Google support couldn't figure it out as well. I've left feedback that they will hopefully take.
I hope this helps someone else who is running into this problem. It was caused by the fact that the very first method I was trying executing in order to bring up the authorization was the ContactsApp.createContact(). Calling this first and in order to bring authorization appears to not be allowed or something they will permit as the very first operation. Don't know if this is security related.
I changed my code instead to use ContactsApp.getContact() to a known and existing contact. That code worked!!! Authorization popped up. Granted. Got the info. I then changed the code back to the .createContact()....it all worked fine.
This appears to only be when you are first trying to use the ContactApp and authorize it for the very first time in your code. Perhaps it was just a glitch in my account, but the same glitch could happen for someone else.
Upvotes: 1
Reputation: 64040
This worked for me:
function createADoggieContact() {
ContactsApp.createContact("Cooper","Dachshund","[email protected]");
}
Upvotes: 1